<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://docs.ipisoft.com/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://docs.ipisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vmaslov</id>
		<title>iPi Docs - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://docs.ipisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vmaslov"/>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Special:Contributions/Vmaslov"/>
		<updated>2026-07-07T10:06:28Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.4</generator>

	<entry>
		<id>https://docs.ipisoft.com/Real-time_Tracking_for_Live_Preview</id>
		<title>Real-time Tracking for Live Preview</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Real-time_Tracking_for_Live_Preview"/>
				<updated>2022-06-22T09:31:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Added a note about supported cameras&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EditionFeature|Basic}}&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
{{Note|This feature is available only for depth sensor(s) and doesn't support RGB cameras.}}&lt;br /&gt;
&lt;br /&gt;
'''Real-time Preview''' feature allows to perform tracking with the real-time speed and instantly transfer motion to a 3D character for live preview right at the time of recording.&lt;br /&gt;
&lt;br /&gt;
This feature allows [[iPi Recorder]] to communicate to [[iPi Mocap Studio]] software in a way similar to [[Distributed Recording]] to send data necessary for tracking. [[iPi Mocap Studio]] performs tracking and motion transfer with the real-time speed. Feature benefits:&lt;br /&gt;
* User can see how the motion will look like on a 3D character at the time of performance.&lt;br /&gt;
* Ability to improve motion accordingly at the time of acting and recording without the need to redo multiple iterations of recording and offline tracking.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
The feature works like this:&lt;br /&gt;
* [[iPi Recorder]] broadcasts data necessary for tracking via network.&lt;br /&gt;
* [[iPi Mocap Studio]] connects to broadcasting [[iPi Recorder]] to start receiving data.&lt;br /&gt;
* [[iPi Mocap Studio]] performs tracking and motion transfer to a 3D character.&lt;br /&gt;
* Live tracking results can then be stored to disk for additional offline post-processing.&lt;br /&gt;
&lt;br /&gt;
=== Recording ===&lt;br /&gt;
&lt;br /&gt;
* Prepare for recording as usual and click '''Start Broadcast''' button. &lt;br /&gt;
*:{{Note|If you use [[Distributed Recording]] first connect to slaves and click '''Start Broadcast''' button on master computer.}}&lt;br /&gt;
*:[[File:realtime-preview-start-broadcast.png|center]]&lt;br /&gt;
* Computer(s) will switch to '''Broadcasting''' mode. You can change network adapter used for communication in necessary.&lt;br /&gt;
*:[[File:realtime-preview-broadcasting.png|center]]&lt;br /&gt;
* To stop broadcast, you need to click '''Stop Broadcast''' button.&lt;br /&gt;
&lt;br /&gt;
=== Realtime Preview ===&lt;br /&gt;
&lt;br /&gt;
* Run [[iPi Mocap Studio]] and click '''Live''' button at the toolbar to enter live mode.&lt;br /&gt;
*:[[File:realtime-studio-live-mode-1.png|center]]&lt;br /&gt;
* Specify actor height at '''Actor''' tab.&lt;br /&gt;
* If you use multiple sensors for recording, load scene at '''Scene''' tab.&lt;br /&gt;
* (Optional) Select target character for motion tranfer at '''Export''' tab.&lt;br /&gt;
* Press '''Connect''' button at '''Live''' tab.&lt;br /&gt;
*:[[File:realtime-connect-button-1.png|center|border]]&lt;br /&gt;
* Press '''OK''' button at '''Select Recording PCs''' dialog.&lt;br /&gt;
*:[[File:realtime-connect-dialog-1.png|center]]&lt;br /&gt;
* Live tracking and motion tranfer will start. &lt;br /&gt;
* You can specify path and filename template to record results of live tracking. [[iPi Mocap Studio]] will record ''.iPiMotion'' file, [[iPi Recorder]] will record ''.iPiVideo'' file.&lt;br /&gt;
* Press '''Start Recording''' / '''Stop Recording''' to start / stop recording ''.iPiVideo'' and ''.iPiMotion'' files. &lt;br /&gt;
{{Note|'''.iPiMotion''' and '''.iPiVideo''' files will have the same name, but path to '''.iPiVideo''' file is set in [[iPi Recorder]]]. }}&lt;br /&gt;
* Press '''Disconnect''' to stop live session&lt;br /&gt;
*:[[File:realtime-preview-studio-live.png|center|thumb|528px]]&lt;br /&gt;
&lt;br /&gt;
=== Create New Project from Live Session Results ===&lt;br /&gt;
It's as simple as this &amp;amp;mdash; open recorded ''.iPiMotion'' file in [[iPi Mocap Studio]].&lt;br /&gt;
{{Tip|If ''.iPiVideo'' file resides in different directory you will be asked to find it manually.}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Cameras_and_Accessories</id>
		<title>Cameras and Accessories</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Cameras_and_Accessories"/>
				<updated>2022-01-31T10:46:34Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* USB controllers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can order software and hardware as one package from [http://www.camvfx.com/category/36050116 CamVFX], our official US Reseller.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can [https://www.ipisoft.com/orderhardware.php select and order] items you need separately.&lt;br /&gt;
&lt;br /&gt;
== Cameras ==&lt;br /&gt;
&lt;br /&gt;
=== Sony PlayStation Eye for PS3 ===&lt;br /&gt;
&lt;br /&gt;
Recommended camera for use with iPi Motion Capture is [http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU Sony PlayStation Eye for PS3].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playstation_eye_small2.jpg|link=http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU]]&lt;br /&gt;
&lt;br /&gt;
The following properties make it a preferred camera for motion capture: &lt;br /&gt;
*	High frame rate &amp;amp;mdash; up to 60 frames per second (important for reducing motion blur and capturing fast motions like dancing, boxing or running). &lt;br /&gt;
*	Fully automatic configuration with excellent auto-exposure and auto-gain.&lt;br /&gt;
*	Good-enough low-light sensitivity.&lt;br /&gt;
*	Low-distortion middle-angle fixed optics (75 degrees of diagonal field of view).&lt;br /&gt;
*	Efficient protocol for image transfer. &lt;br /&gt;
*	Extremely low cost (under $10).&lt;br /&gt;
The only major downside of PlayStation Eye is its lack of tripod mounting screw. Possible solutions:&lt;br /&gt;
* To use sticky tape to fix it to any tripod.&lt;br /&gt;
* Order [http://www.amazon.com/Digital-Xbox-Kinect-Playstation-Mount-3/dp/B004V7437O/ref=sr_1_1?s=videogames&amp;amp;ie=UTF8&amp;amp;qid=1414509846&amp;amp;sr=1-1&amp;amp;keywords=TV+mount+for+Kinect+and+PS+Move+Eye+Camera wall mount for Sony PS Eye / Kinect]&lt;br /&gt;
* Order [http://www.camvfx.com/product/PSKPAD-001 Sony PS Eye / Kinect adapter] from our partner CamVFX&lt;br /&gt;
&lt;br /&gt;
{{Note|[https://www.amazon.com/PlayStation-4-Camera-Old-Model/dp/B00BGAA3S2 Sony PlayStation 4 Camera] cannot be used with '''iPi Motion Capture''' because it has proprietary cable connection and there is no adapter for PC on market. The same is true for [https://www.amazon.com/Sony-Camera-V2-PlayStation-4/dp/B0731SXXLP Sony Camera V2 for PlayStation 4].}}&lt;br /&gt;
&lt;br /&gt;
=== Logitech C922 ===&lt;br /&gt;
&lt;br /&gt;
You can use other web cameras with iPi Motion Capture. But there are just a couple of models that can reliably capture video at 60 frames per second. [https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f Logitech C922] is one of such models:&lt;br /&gt;
&lt;br /&gt;
[[File:Logitech_C922_small.png|link=https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f]]&lt;br /&gt;
&lt;br /&gt;
It has the following helpful properties:&lt;br /&gt;
* 60 FPS for 720p resolution.&lt;br /&gt;
* Good optics with reasonable field of view (78 degrees in diagonal) and relatively low distortion.&lt;br /&gt;
* Auto-focus can be turned off.&lt;br /&gt;
* Acceptable colors in low light conditions (better than Sony PS Eye has).&lt;br /&gt;
* USB 2.0 interface (USB repeaters can be used).&lt;br /&gt;
* Tripod mounting screw.&lt;br /&gt;
&lt;br /&gt;
=== Cameras Comparison ===&lt;br /&gt;
&lt;br /&gt;
Which camera to choose?&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Specification&lt;br /&gt;
!Sony&amp;amp;nbsp;PS&amp;amp;nbsp;Eye&lt;br /&gt;
!Logitech&amp;amp;nbsp;C922&lt;br /&gt;
!Winner&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|practical frame rate(s)&lt;br /&gt;
|50&amp;amp;nbsp;FPS, 60&amp;amp;nbsp;FPS&lt;br /&gt;
|60&amp;amp;nbsp;FPS&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|In some cases it is more practical to record at 50 FPS instead of 60 FPS, but C922 doesn't support 50 FPS. Also, PlayStation Eye has more stable frame rate: exactly 60 frames per second, while C922 could drop separate frames time after time and a result actual FPS is slightly smaller than 60. &lt;br /&gt;
|-&lt;br /&gt;
|practical resolution(s)&lt;br /&gt;
|640x480&lt;br /&gt;
|1280x720&lt;br /&gt;
|it&amp;amp;nbsp;depends&lt;br /&gt;
|For iPi Motion Capture it is not so important to have high resolution. Higher resolution just allows to stand farther from camera, which potentially increases maximum capture area. But from the other side, higher resolution means slower processing in [[iPi Mocap Studio]]. Thus if your top priority is the biggest capture area, then Logitech C922 wins. In other case - PS Eye wins. &lt;br /&gt;
|-&lt;br /&gt;
|field of view&lt;br /&gt;
|diagonal:&amp;amp;nbsp;75°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;63°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;49.5°&lt;br /&gt;
|diagonal:&amp;amp;nbsp;78°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;70°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;43°&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|PS Eye has slightly bigger vertical field of view. Therefore an actor can stand closer to camera and still be visible in full length. &lt;br /&gt;
|-&lt;br /&gt;
|optic distorsion&lt;br /&gt;
|low&lt;br /&gt;
|low&lt;br /&gt;
|draw&lt;br /&gt;
|Both cameras have good-enough optics for iPi Motion Capture needs.&lt;br /&gt;
|-&lt;br /&gt;
|image&amp;amp;nbsp;quality&lt;br /&gt;
|good-enough&amp;lt;br/&amp;gt;(but poor in low light conditions)&lt;br /&gt;
|good&amp;lt;br/&amp;gt;(good-enough in low light conditions)&lt;br /&gt;
|C922&lt;br /&gt;
|But image quality is not so critical for iPi Motion Capture.&lt;br /&gt;
|-&lt;br /&gt;
|connection&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|draw &lt;br /&gt;
|Not more than two cameras should be connected to each USB controller to capture at 50 or 60 FPS. But some USB 3.0 controllers can handle up to four cameras at 50 and 60 FPS. This is true for both camera models.&lt;br /&gt;
|-&lt;br /&gt;
|disk&amp;amp;nbsp;usage&amp;lt;br/&amp;gt;(for&amp;amp;nbsp;six&amp;amp;nbsp;cameras)&lt;br /&gt;
|25&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;640x480@60&amp;lt;br/&amp;gt;(background&amp;amp;nbsp;subtraction)&lt;br /&gt;
|35&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;1280x720@60&amp;lt;br/&amp;gt;(raw&amp;amp;nbsp;JPEG&amp;amp;nbsp;frames&amp;amp;nbsp;obtained&amp;amp;nbsp;from&amp;amp;nbsp;cameras)&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|CPU load is higher as well when recording with Logitech C922.&lt;br /&gt;
|-&lt;br /&gt;
|tripod mounting screw&lt;br /&gt;
|no&lt;br /&gt;
|yes&lt;br /&gt;
|C922&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|price&lt;br /&gt;
|under&amp;amp;nbsp;10&amp;amp;nbsp;USD&lt;br /&gt;
|about&amp;amp;nbsp;90&amp;amp;nbsp;USD&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|Prices may differ for different regions. But in any case PS Eye is significantly cheaper.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
Stand-alone cameras that meet requirements below can be used instead of web cameras.&lt;br /&gt;
{{Note|Stand-alone cameras support in available starting from v4 of '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
Requirements for stand-alone cameras:&lt;br /&gt;
* Fixed optics (if camera has auto-focus and zoom features, they must be turned off before recording)&lt;br /&gt;
* High FPS (at least 60 FPS at 720p resolution)&lt;br /&gt;
* Wide field-of-view (at least 90° in diagonal)&lt;br /&gt;
&lt;br /&gt;
You can even mix cameras of different models. But all cameras must support one and the same pair of FPS and resolution.&lt;br /&gt;
&lt;br /&gt;
{{Tip|The most practical resolution for full body motion capture is '''720p''' that is '''1280 x 720'''. Using higher resolutions adds technical complications but does not give substantial advantages.}}&lt;br /&gt;
&lt;br /&gt;
Action cameras fully meet the requirements. The most popular models here are:&lt;br /&gt;
* [https://shop.gopro.com/cameras GoPro]&lt;br /&gt;
* [https://sjcam.com SJCAM]&lt;br /&gt;
* [https://www.yitechnology.com/yi-action-camera YI Action Camera]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;table border=0&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;22%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:GoPro-HERO-5-Black.png|thumb|GoPro HERO5 Black]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:SJCAM-M20-WiFi.jpg|thumb|SJCAM M20 WiFi]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:YI-4K.jpg|thumb|YI 4K]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But you can use other (more affordable) models: [https://www.google.ru/search?q=affordable+action+cameras]. Or even smartphones.&lt;br /&gt;
&lt;br /&gt;
{{Note|If you select action cameras specially for '''iPi Motion Capture''', you can use almost any cheap action camera model which supports 720p (1280 x 720) resolution at 60 or 90 FPS. At least, there is no need to choose cameras that support 4K video because such high resolution is not practical for '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
=== Web Cameras vs. Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
The overall workflow with action cameras is more complicated compared to web cameras. See [[Quick Start Guide for Multiple Action Cameras Configuration]] for details. But you can get certain advantages if you use action cameras:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Configration !! Pros !! Cons&lt;br /&gt;
|-&lt;br /&gt;
| Web&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* Relatively low price&lt;br /&gt;
* Relatively simple and straightforward [[iPi_Recorder_User%27s_Guide#Recording_Workflow|recording workflow]] in [[iPi Recorder]] application&lt;br /&gt;
||&lt;br /&gt;
* Requires rather powerful PC(s) for recording:&lt;br /&gt;
** many USB ports&lt;br /&gt;
** several USB controllers&lt;br /&gt;
** fast storage system&lt;br /&gt;
** fast CPU&lt;br /&gt;
* A lot of USB cables on the floor&lt;br /&gt;
* View angle (FOV) is not wide enough to be used in small rooms&lt;br /&gt;
|-&lt;br /&gt;
| Action&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* No need in PC and external power supply for recording (high mobility)&lt;br /&gt;
* No USB cables on the floor&lt;br /&gt;
* Wider view angle (FOV) results in bigger capture volume&lt;br /&gt;
* Wider view angle allows to record in smaller rooms&lt;br /&gt;
* 90 and even 120 FPS (depends on the model of action camera and lighting conditions)&lt;br /&gt;
||&lt;br /&gt;
* Intrinsic parameters of each camera must be determined in advance ([[How to Calibrate Camera Optics|camera optics calibration]])&lt;br /&gt;
* A few manual and time consuming steps are required to get multi-camera synchronized video:&lt;br /&gt;
** for each camera: extract SD card, copy MP4 video files to PC, convert them to [[.iPiVideo File Extension|iPiVideo format]]&lt;br /&gt;
** manually [[How to Build Synced Multi-Camera Video|build multi-camera video]] and manually set synchronization frames for each camera&lt;br /&gt;
* Right now there is no simple way to use [[Motion Controllers]] with action cameras&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cables ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using of action cameras there is no need in these USB cables.}}&lt;br /&gt;
&lt;br /&gt;
For distances over 3m, you should use [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=active+USB+2.0+extension+cable&amp;amp;x=14&amp;amp;y=22 active USB 2.0 extension cables] (aka ''USB repeaters''). You can daisy-chain multiple active USB 2.0 extension cables for distances longer than 10m. &lt;br /&gt;
&lt;br /&gt;
[[File:Active_USB_cable.jpg|link=]] &lt;br /&gt;
&lt;br /&gt;
When combining active and [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=USB+2.0+EXTENSION+CABLE+TYPE+A+MALE+to+TYPE+A+FEMALE&amp;amp;x=5&amp;amp;y=19 passive cables], make sure that connection order is correct (computer-&amp;gt;active cable-&amp;gt;passive cable-&amp;gt;camera).&lt;br /&gt;
&lt;br /&gt;
{{Tip|Microsoft Kinect v2 is an USB 3.0 device, thus it would require USB 3.0 extension cables. However, because each Kinect v2 requires a separate computer for operation, there is usually no need in extension cables, because computers can be placed appropriately.}}&lt;br /&gt;
&lt;br /&gt;
== Tripods ==&lt;br /&gt;
&lt;br /&gt;
Inexpensive 40- or 50-inch tripods like &lt;br /&gt;
[http://www.amazon.com/gp/product/B001T9N0L2/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B001T9N0L2]&lt;br /&gt;
should be fine for use with iPi Desktop Motion Capture. It is recommended to place at least one of the cameras reasonably high (2 or 3 meters high) so you may need a high (72 inch or higher) tripod like [http://www.amazon.com/gp/product/B003ASZXBK/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B003ASZXBK] or some kind of ad hoc wall mounting solution.&lt;br /&gt;
&lt;br /&gt;
[[File:Tripod.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Mini Maglite (or other flashlight) for calibration ==&lt;br /&gt;
&lt;br /&gt;
You will need a small bright object for calibration. It is recommended to get [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite] for that purpose:&lt;br /&gt;
&lt;br /&gt;
[[File:Maglite.jpg|link=http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL]]&lt;br /&gt;
&lt;br /&gt;
If you cannot get a [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite], you can use some other similar flashlight: &lt;br /&gt;
&lt;br /&gt;
[[File:Noname_flashlight.jpg|250px|link=]]&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use [https://www.amazon.com/Playstation-3-Move-Motion-Controller/dp/B002I0J51U/ref=as_sl_pc_qf_sp_asin_til?tag=wwwipisoftcom-20&amp;amp;linkCode=w00&amp;amp;linkId=3LAZCYWUQQFLH2LX&amp;amp;creativeASIN=B002I0J51U Sony Move] motion controller with white light turned on. &lt;br /&gt;
&lt;br /&gt;
[[File:Psmove.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Video Card ==&lt;br /&gt;
&lt;br /&gt;
iPi Mocap Studio heavily relies on [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] for calculations. Therefore, it is recommended to use a fast GPU for processing recorded videos. The support for DirectX 11 is required (most of the video cards released since 2010 meet this requirement).&lt;br /&gt;
&lt;br /&gt;
Please be aware that desktop GPUs are dramatically faster than laptop GPUs (due to apparent thermal constraints in laptop PCs). [[Laptops with Switchable Graphics]] should be configured to run iPi Mocap Studio on a discrete (high-performance) GPU.&lt;br /&gt;
&lt;br /&gt;
You can check expected tracking speed for various GPU model [https://ipisoft.com/pr/GPU_speed_v_14_04.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can [https://www.ipisoft.com/store/gpu/ Compare and Order] recommended GPU from Amazon.&lt;br /&gt;
&lt;br /&gt;
{{Note|Professional GPUs like NVIDIA Quadro or AMD FirePro are not recommended due to high price and lack of performance advantage. You should understand that Quadro/FirePro video cards are designed for very specific professional OpenGL-based workloads. Their main advantage is high image quality in OpenGL rendering. iPi Motion Capture needs raw 32-bit floating point performance and does not benefit from image quality features of Quadro/FirePro video cards. For best performance, use top gaming-class video cards from NVIDIA or AMD.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Ensure that you are getting [[Maximizing_GPU_performance_in_iPi_Mocap_Studio|maximum of GPU's performance in iPi Mocap Studio]].}}&lt;br /&gt;
&lt;br /&gt;
== USB controllers ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using action cameras there are no special requirements for USB controllers.}}&lt;br /&gt;
&lt;br /&gt;
All modern computers based on Intel and AMD chipsets have at least one combined USB 3.1 (or 3.0) / USB 2.0 controller on board. It is usually capable of handling either of:&lt;br /&gt;
* 2 USB 2.0 depth sensors (e.g. Microsoft Kinect v1)&lt;br /&gt;
* 2 or 3 USB 3.0 depth sensors (e.g. Microsoft Azure Kinect), depending on a specific sensor model and whether an RGB stream is recorded&lt;br /&gt;
* 4 USB 2.0 RGB cameras at 640x480 at 60 FPS (e.g. PS Eye)&lt;br /&gt;
* 6 USB 2.0 RGB cameras at 640x480 at 40 FPS (e.g. PS Eye)&lt;br /&gt;
&lt;br /&gt;
Some PCs may have additional USB controllers built-in. You can check how many USB controllers you have in the '''Universal Serial Bus controllers''' section in the Device Manager.&lt;br /&gt;
[[File:USB_controllers.png|link=]]&lt;br /&gt;
&lt;br /&gt;
Depending on how many cameras or depth sensors you want to use and how many controllers your PC has, you may need to install additional USB controllers or [[Distributed Recording|use multiple PCs for recording]].&lt;br /&gt;
&lt;br /&gt;
{{Tip|Kinect 2 for Windows, Kinect for Xbox One requires a separate USB 3.0 controller per device. However, the standard driver (Kinect SDK 2.0) supports only single sensor per PC (this is a software limitation). An alternative [[Multiple_Kinects_v2_on_a_Single_PC|Libfreenect2]] driver supports multiple Kinect 2 sensors on one PC.}}&lt;br /&gt;
&lt;br /&gt;
For desktop PCs, additional USB controllers usually come in the form of PCIe extension cards. There are PCIe cards which have 2 or even 4 separate USB 3.0 chips onboard. So with a single card you can cover all your needs in additional USB controllers. Look for references to such cards on [https://www.ipisoft.com/store/hardware/ our website].&lt;br /&gt;
&lt;br /&gt;
Modern laptops usually lack options to add more USB controllers. So if you're going to use a laptop for recording with many cameras look for gaming-class products. They often include an additional USB controller and more USB ports than conventional &amp;quot;work-horse&amp;quot; laptops. Besides, due to having a high-performance discrete GPU they can be used for occasional tracking, although employing a desktop GPU for that purpose is a preferred option.&lt;br /&gt;
&lt;br /&gt;
{{Important|Some USB chips have compatibility issues with specific cameras which may result in not detecting cameras, low frame rate, etc. See [[#Known compatibility issues|the next section]] on known issues. When getting a PCIe USB card we strongly recommend to look for one based on a NEC/Renesas USB 3.0 chip. It has the best compatibility we've seen so far across various models of cameras and depth sensors.}}&lt;br /&gt;
&lt;br /&gt;
Sometimes an USB controllers provides less USB ports than the number of cameras it can handle. For instance, when using RGB cameras with a laptop or a multi-chip PCIe USB card. In this case you can use an ''USB hub'' to increase the number of USB ports and use the full bandwidth of an USB controller. Note that a hub ''is not'' an USB controller, therefore it doesn't increase the number of cameras which can be handled by a controller.&lt;br /&gt;
&lt;br /&gt;
{{Important|You can use USB 2.0 or USB 3.0 hubs to connect USB 2.0 cameras. Use only USB 3.0 hubs to connect USB 3.0 cameras. For USB 3.0, prefer ''active'' hubs which use an external power supply.}}&lt;br /&gt;
&lt;br /&gt;
=== Known compatibility issues ===&lt;br /&gt;
Combinations of camera &amp;amp; USB chip listed below have known compatibility issues. Unfortunately, there is no guarantee that other combinations will work for sure, but most will. If you need an additional USB controller for connecting specific camera, be sure not to get the one based on an incompatible USB chip.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Camera'''&lt;br /&gt;
|'''USB chip'''&lt;br /&gt;
|'''Symptoms'''&lt;br /&gt;
|'''Comments / possible solution'''&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Camera is not properly recognized by the system.&lt;br /&gt;
|[http://reconstructme.net/2012/10/13/asus-xtion-usb-3-0-hotfix/ This firmware update] makes device behave the same as PrimeSense Carmine 1.08 with this controller.&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops of color picture in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v1&lt;br /&gt;
|Intel 8x/9x chipset series (built-in, USB 3.0/2.0)&lt;br /&gt;
|Multiple Kinects do not work.&lt;br /&gt;
|[https://social.msdn.microsoft.com/Forums/en-US/b8ff7e7b-befe-426c-8eae-192a9aa3fa88/multiple-kinects-on-an-intel-usb-30-controller-are-failing?forum=kinectsdk Discussion of the issue]&amp;lt;br/&amp;gt;Additional USB controllers needed for multiple Kinects.&amp;lt;br/&amp;gt;One user reports that uninstalling Intel USB 3.0 driver resolves the issue.&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|Etron EJ168&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|VIA VL800&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VL800(USB 3.0)&lt;br /&gt;
|Frame drops, reduced frame rate, freezes in '''depth + color''' modes.&lt;br /&gt;
|Stable work in '''depth only''' modes.&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VL800 (USB 3.0)&lt;br /&gt;
|Great number of bad frames and frame drops. Camera is invisible to iPi Recorder.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Great number of frame drop in 640x480@60 mode.&lt;br /&gt;
|2 cameras can work smoothly at lower FPS (up to 640x480@50).&lt;br /&gt;
|-&lt;br /&gt;
|Sony PlayStation Eye&lt;br /&gt;
|NEC µPD720101 (USB 2.0)&lt;br /&gt;
|Great number of frame drops. Camera stops producing frames.&lt;br /&gt;
|Not recommended to use. Replace with other controllers.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Cameras_and_Accessories</id>
		<title>Cameras and Accessories</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Cameras_and_Accessories"/>
				<updated>2022-01-31T10:34:04Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* USB controllers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can order software and hardware as one package from [http://www.camvfx.com/category/36050116 CamVFX], our official US Reseller.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can [https://www.ipisoft.com/orderhardware.php select and order] items you need separately.&lt;br /&gt;
&lt;br /&gt;
== Cameras ==&lt;br /&gt;
&lt;br /&gt;
=== Sony PlayStation Eye for PS3 ===&lt;br /&gt;
&lt;br /&gt;
Recommended camera for use with iPi Motion Capture is [http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU Sony PlayStation Eye for PS3].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playstation_eye_small2.jpg|link=http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU]]&lt;br /&gt;
&lt;br /&gt;
The following properties make it a preferred camera for motion capture: &lt;br /&gt;
*	High frame rate &amp;amp;mdash; up to 60 frames per second (important for reducing motion blur and capturing fast motions like dancing, boxing or running). &lt;br /&gt;
*	Fully automatic configuration with excellent auto-exposure and auto-gain.&lt;br /&gt;
*	Good-enough low-light sensitivity.&lt;br /&gt;
*	Low-distortion middle-angle fixed optics (75 degrees of diagonal field of view).&lt;br /&gt;
*	Efficient protocol for image transfer. &lt;br /&gt;
*	Extremely low cost (under $10).&lt;br /&gt;
The only major downside of PlayStation Eye is its lack of tripod mounting screw. Possible solutions:&lt;br /&gt;
* To use sticky tape to fix it to any tripod.&lt;br /&gt;
* Order [http://www.amazon.com/Digital-Xbox-Kinect-Playstation-Mount-3/dp/B004V7437O/ref=sr_1_1?s=videogames&amp;amp;ie=UTF8&amp;amp;qid=1414509846&amp;amp;sr=1-1&amp;amp;keywords=TV+mount+for+Kinect+and+PS+Move+Eye+Camera wall mount for Sony PS Eye / Kinect]&lt;br /&gt;
* Order [http://www.camvfx.com/product/PSKPAD-001 Sony PS Eye / Kinect adapter] from our partner CamVFX&lt;br /&gt;
&lt;br /&gt;
{{Note|[https://www.amazon.com/PlayStation-4-Camera-Old-Model/dp/B00BGAA3S2 Sony PlayStation 4 Camera] cannot be used with '''iPi Motion Capture''' because it has proprietary cable connection and there is no adapter for PC on market. The same is true for [https://www.amazon.com/Sony-Camera-V2-PlayStation-4/dp/B0731SXXLP Sony Camera V2 for PlayStation 4].}}&lt;br /&gt;
&lt;br /&gt;
=== Logitech C922 ===&lt;br /&gt;
&lt;br /&gt;
You can use other web cameras with iPi Motion Capture. But there are just a couple of models that can reliably capture video at 60 frames per second. [https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f Logitech C922] is one of such models:&lt;br /&gt;
&lt;br /&gt;
[[File:Logitech_C922_small.png|link=https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f]]&lt;br /&gt;
&lt;br /&gt;
It has the following helpful properties:&lt;br /&gt;
* 60 FPS for 720p resolution.&lt;br /&gt;
* Good optics with reasonable field of view (78 degrees in diagonal) and relatively low distortion.&lt;br /&gt;
* Auto-focus can be turned off.&lt;br /&gt;
* Acceptable colors in low light conditions (better than Sony PS Eye has).&lt;br /&gt;
* USB 2.0 interface (USB repeaters can be used).&lt;br /&gt;
* Tripod mounting screw.&lt;br /&gt;
&lt;br /&gt;
=== Cameras Comparison ===&lt;br /&gt;
&lt;br /&gt;
Which camera to choose?&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Specification&lt;br /&gt;
!Sony&amp;amp;nbsp;PS&amp;amp;nbsp;Eye&lt;br /&gt;
!Logitech&amp;amp;nbsp;C922&lt;br /&gt;
!Winner&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|practical frame rate(s)&lt;br /&gt;
|50&amp;amp;nbsp;FPS, 60&amp;amp;nbsp;FPS&lt;br /&gt;
|60&amp;amp;nbsp;FPS&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|In some cases it is more practical to record at 50 FPS instead of 60 FPS, but C922 doesn't support 50 FPS. Also, PlayStation Eye has more stable frame rate: exactly 60 frames per second, while C922 could drop separate frames time after time and a result actual FPS is slightly smaller than 60. &lt;br /&gt;
|-&lt;br /&gt;
|practical resolution(s)&lt;br /&gt;
|640x480&lt;br /&gt;
|1280x720&lt;br /&gt;
|it&amp;amp;nbsp;depends&lt;br /&gt;
|For iPi Motion Capture it is not so important to have high resolution. Higher resolution just allows to stand farther from camera, which potentially increases maximum capture area. But from the other side, higher resolution means slower processing in [[iPi Mocap Studio]]. Thus if your top priority is the biggest capture area, then Logitech C922 wins. In other case - PS Eye wins. &lt;br /&gt;
|-&lt;br /&gt;
|field of view&lt;br /&gt;
|diagonal:&amp;amp;nbsp;75°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;63°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;49.5°&lt;br /&gt;
|diagonal:&amp;amp;nbsp;78°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;70°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;43°&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|PS Eye has slightly bigger vertical field of view. Therefore an actor can stand closer to camera and still be visible in full length. &lt;br /&gt;
|-&lt;br /&gt;
|optic distorsion&lt;br /&gt;
|low&lt;br /&gt;
|low&lt;br /&gt;
|draw&lt;br /&gt;
|Both cameras have good-enough optics for iPi Motion Capture needs.&lt;br /&gt;
|-&lt;br /&gt;
|image&amp;amp;nbsp;quality&lt;br /&gt;
|good-enough&amp;lt;br/&amp;gt;(but poor in low light conditions)&lt;br /&gt;
|good&amp;lt;br/&amp;gt;(good-enough in low light conditions)&lt;br /&gt;
|C922&lt;br /&gt;
|But image quality is not so critical for iPi Motion Capture.&lt;br /&gt;
|-&lt;br /&gt;
|connection&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|draw &lt;br /&gt;
|Not more than two cameras should be connected to each USB controller to capture at 50 or 60 FPS. But some USB 3.0 controllers can handle up to four cameras at 50 and 60 FPS. This is true for both camera models.&lt;br /&gt;
|-&lt;br /&gt;
|disk&amp;amp;nbsp;usage&amp;lt;br/&amp;gt;(for&amp;amp;nbsp;six&amp;amp;nbsp;cameras)&lt;br /&gt;
|25&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;640x480@60&amp;lt;br/&amp;gt;(background&amp;amp;nbsp;subtraction)&lt;br /&gt;
|35&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;1280x720@60&amp;lt;br/&amp;gt;(raw&amp;amp;nbsp;JPEG&amp;amp;nbsp;frames&amp;amp;nbsp;obtained&amp;amp;nbsp;from&amp;amp;nbsp;cameras)&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|CPU load is higher as well when recording with Logitech C922.&lt;br /&gt;
|-&lt;br /&gt;
|tripod mounting screw&lt;br /&gt;
|no&lt;br /&gt;
|yes&lt;br /&gt;
|C922&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|price&lt;br /&gt;
|under&amp;amp;nbsp;10&amp;amp;nbsp;USD&lt;br /&gt;
|about&amp;amp;nbsp;90&amp;amp;nbsp;USD&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|Prices may differ for different regions. But in any case PS Eye is significantly cheaper.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
Stand-alone cameras that meet requirements below can be used instead of web cameras.&lt;br /&gt;
{{Note|Stand-alone cameras support in available starting from v4 of '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
Requirements for stand-alone cameras:&lt;br /&gt;
* Fixed optics (if camera has auto-focus and zoom features, they must be turned off before recording)&lt;br /&gt;
* High FPS (at least 60 FPS at 720p resolution)&lt;br /&gt;
* Wide field-of-view (at least 90° in diagonal)&lt;br /&gt;
&lt;br /&gt;
You can even mix cameras of different models. But all cameras must support one and the same pair of FPS and resolution.&lt;br /&gt;
&lt;br /&gt;
{{Tip|The most practical resolution for full body motion capture is '''720p''' that is '''1280 x 720'''. Using higher resolutions adds technical complications but does not give substantial advantages.}}&lt;br /&gt;
&lt;br /&gt;
Action cameras fully meet the requirements. The most popular models here are:&lt;br /&gt;
* [https://shop.gopro.com/cameras GoPro]&lt;br /&gt;
* [https://sjcam.com SJCAM]&lt;br /&gt;
* [https://www.yitechnology.com/yi-action-camera YI Action Camera]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;table border=0&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;22%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:GoPro-HERO-5-Black.png|thumb|GoPro HERO5 Black]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:SJCAM-M20-WiFi.jpg|thumb|SJCAM M20 WiFi]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:YI-4K.jpg|thumb|YI 4K]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But you can use other (more affordable) models: [https://www.google.ru/search?q=affordable+action+cameras]. Or even smartphones.&lt;br /&gt;
&lt;br /&gt;
{{Note|If you select action cameras specially for '''iPi Motion Capture''', you can use almost any cheap action camera model which supports 720p (1280 x 720) resolution at 60 or 90 FPS. At least, there is no need to choose cameras that support 4K video because such high resolution is not practical for '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
=== Web Cameras vs. Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
The overall workflow with action cameras is more complicated compared to web cameras. See [[Quick Start Guide for Multiple Action Cameras Configuration]] for details. But you can get certain advantages if you use action cameras:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Configration !! Pros !! Cons&lt;br /&gt;
|-&lt;br /&gt;
| Web&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* Relatively low price&lt;br /&gt;
* Relatively simple and straightforward [[iPi_Recorder_User%27s_Guide#Recording_Workflow|recording workflow]] in [[iPi Recorder]] application&lt;br /&gt;
||&lt;br /&gt;
* Requires rather powerful PC(s) for recording:&lt;br /&gt;
** many USB ports&lt;br /&gt;
** several USB controllers&lt;br /&gt;
** fast storage system&lt;br /&gt;
** fast CPU&lt;br /&gt;
* A lot of USB cables on the floor&lt;br /&gt;
* View angle (FOV) is not wide enough to be used in small rooms&lt;br /&gt;
|-&lt;br /&gt;
| Action&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* No need in PC and external power supply for recording (high mobility)&lt;br /&gt;
* No USB cables on the floor&lt;br /&gt;
* Wider view angle (FOV) results in bigger capture volume&lt;br /&gt;
* Wider view angle allows to record in smaller rooms&lt;br /&gt;
* 90 and even 120 FPS (depends on the model of action camera and lighting conditions)&lt;br /&gt;
||&lt;br /&gt;
* Intrinsic parameters of each camera must be determined in advance ([[How to Calibrate Camera Optics|camera optics calibration]])&lt;br /&gt;
* A few manual and time consuming steps are required to get multi-camera synchronized video:&lt;br /&gt;
** for each camera: extract SD card, copy MP4 video files to PC, convert them to [[.iPiVideo File Extension|iPiVideo format]]&lt;br /&gt;
** manually [[How to Build Synced Multi-Camera Video|build multi-camera video]] and manually set synchronization frames for each camera&lt;br /&gt;
* Right now there is no simple way to use [[Motion Controllers]] with action cameras&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cables ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using of action cameras there is no need in these USB cables.}}&lt;br /&gt;
&lt;br /&gt;
For distances over 3m, you should use [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=active+USB+2.0+extension+cable&amp;amp;x=14&amp;amp;y=22 active USB 2.0 extension cables] (aka ''USB repeaters''). You can daisy-chain multiple active USB 2.0 extension cables for distances longer than 10m. &lt;br /&gt;
&lt;br /&gt;
[[File:Active_USB_cable.jpg|link=]] &lt;br /&gt;
&lt;br /&gt;
When combining active and [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=USB+2.0+EXTENSION+CABLE+TYPE+A+MALE+to+TYPE+A+FEMALE&amp;amp;x=5&amp;amp;y=19 passive cables], make sure that connection order is correct (computer-&amp;gt;active cable-&amp;gt;passive cable-&amp;gt;camera).&lt;br /&gt;
&lt;br /&gt;
{{Tip|Microsoft Kinect v2 is an USB 3.0 device, thus it would require USB 3.0 extension cables. However, because each Kinect v2 requires a separate computer for operation, there is usually no need in extension cables, because computers can be placed appropriately.}}&lt;br /&gt;
&lt;br /&gt;
== Tripods ==&lt;br /&gt;
&lt;br /&gt;
Inexpensive 40- or 50-inch tripods like &lt;br /&gt;
[http://www.amazon.com/gp/product/B001T9N0L2/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B001T9N0L2]&lt;br /&gt;
should be fine for use with iPi Desktop Motion Capture. It is recommended to place at least one of the cameras reasonably high (2 or 3 meters high) so you may need a high (72 inch or higher) tripod like [http://www.amazon.com/gp/product/B003ASZXBK/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B003ASZXBK] or some kind of ad hoc wall mounting solution.&lt;br /&gt;
&lt;br /&gt;
[[File:Tripod.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Mini Maglite (or other flashlight) for calibration ==&lt;br /&gt;
&lt;br /&gt;
You will need a small bright object for calibration. It is recommended to get [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite] for that purpose:&lt;br /&gt;
&lt;br /&gt;
[[File:Maglite.jpg|link=http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL]]&lt;br /&gt;
&lt;br /&gt;
If you cannot get a [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite], you can use some other similar flashlight: &lt;br /&gt;
&lt;br /&gt;
[[File:Noname_flashlight.jpg|250px|link=]]&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use [https://www.amazon.com/Playstation-3-Move-Motion-Controller/dp/B002I0J51U/ref=as_sl_pc_qf_sp_asin_til?tag=wwwipisoftcom-20&amp;amp;linkCode=w00&amp;amp;linkId=3LAZCYWUQQFLH2LX&amp;amp;creativeASIN=B002I0J51U Sony Move] motion controller with white light turned on. &lt;br /&gt;
&lt;br /&gt;
[[File:Psmove.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Video Card ==&lt;br /&gt;
&lt;br /&gt;
iPi Mocap Studio heavily relies on [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] for calculations. Therefore, it is recommended to use a fast GPU for processing recorded videos. The support for DirectX 11 is required (most of the video cards released since 2010 meet this requirement).&lt;br /&gt;
&lt;br /&gt;
Please be aware that desktop GPUs are dramatically faster than laptop GPUs (due to apparent thermal constraints in laptop PCs). [[Laptops with Switchable Graphics]] should be configured to run iPi Mocap Studio on a discrete (high-performance) GPU.&lt;br /&gt;
&lt;br /&gt;
You can check expected tracking speed for various GPU model [https://ipisoft.com/pr/GPU_speed_v_14_04.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can [https://www.ipisoft.com/store/gpu/ Compare and Order] recommended GPU from Amazon.&lt;br /&gt;
&lt;br /&gt;
{{Note|Professional GPUs like NVIDIA Quadro or AMD FirePro are not recommended due to high price and lack of performance advantage. You should understand that Quadro/FirePro video cards are designed for very specific professional OpenGL-based workloads. Their main advantage is high image quality in OpenGL rendering. iPi Motion Capture needs raw 32-bit floating point performance and does not benefit from image quality features of Quadro/FirePro video cards. For best performance, use top gaming-class video cards from NVIDIA or AMD.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Ensure that you are getting [[Maximizing_GPU_performance_in_iPi_Mocap_Studio|maximum of GPU's performance in iPi Mocap Studio]].}}&lt;br /&gt;
&lt;br /&gt;
== USB controllers ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using action cameras there are no special requirements for USB controllers.}}&lt;br /&gt;
&lt;br /&gt;
All modern computers based on Intel and AMD chipsets have at least one combined USB 3.1 (or 3.0) / USB 2.0 controller on board. It is usually capable of handling either of:&lt;br /&gt;
* 2 USB 2.0 depth sensors (e.g. Microsoft Kinect v1)&lt;br /&gt;
* 1 or 2 USB 3.0 depth sensors (e.g. Microsoft Azure Kinect), depending on a specific sensor model and whether an RGB stream is recorded&lt;br /&gt;
* 4 USB 2.0 RGB cameras at 640x480 at 60 FPS (e.g. PS Eye)&lt;br /&gt;
* 6 USB 2.0 RGB cameras at 640x480 at 40 FPS (e.g. PS Eye)&lt;br /&gt;
&lt;br /&gt;
Some PCs may have additional USB controllers built-in. You can check how many USB controllers you have in the '''Universal Serial Bus controllers''' section in the Device Manager.&lt;br /&gt;
[[File:USB_controllers.png|link=]]&lt;br /&gt;
&lt;br /&gt;
Depending on how many cameras or depth sensors you want to use and how many controllers your PC has, you may need to install additional USB controllers or [[Distributed Recording|use multiple PCs for recording]].&lt;br /&gt;
&lt;br /&gt;
{{Tip|Kinect 2 for Windows, Kinect for Xbox One requires a separate USB 3.0 controller per device. However, the standard driver (Kinect SDK 2.0) supports only single sensor per PC (this is a software limitation). An alternative [[Multiple_Kinects_v2_on_a_Single_PC|Libfreenect2]] driver supports multiple Kinect 2 sensors on one PC.}}&lt;br /&gt;
&lt;br /&gt;
For desktop PCs, additional USB controllers usually come in the form of PCIe extension cards. There are PCIe cards which have 2 or even 4 separate USB 3.0 chips onboard. So with a single card you can cover all your needs in additional USB controllers. Look for references to such cards on [https://www.ipisoft.com/store/hardware/ our website].&lt;br /&gt;
&lt;br /&gt;
Modern laptops usually lack options to add more USB controllers. So if you're going to use a laptop for recording with many cameras look for gaming-class products. They often include an additional USB controller and more USB ports than conventional &amp;quot;work-horse&amp;quot; laptops. Besides, due to having a high-performance discrete GPU they can be used for occasional tracking, although employing a desktop GPU for that purpose is a preferred option.&lt;br /&gt;
&lt;br /&gt;
{{Important|Some USB chips have compatibility issues with specific cameras which may result in not detecting cameras, low frame rate, etc. See [[#Known compatibility issues|the next section]] on known issues. When getting a PCIe USB card we strongly recommend to look for one based on a NEC/Renesas USB 3.0 chip. It has the best compatibility we've seen so far across various models of cameras and depth sensors.}}&lt;br /&gt;
&lt;br /&gt;
Sometimes an USB controllers provides less USB ports than the number of cameras it can handle. For instance, when using RGB cameras with a laptop or a multi-chip PCIe USB card. In this case you can use an ''USB hub'' to increase the number of USB ports and use the full bandwidth of an USB controller. Note that a hub ''is not'' an USB controller, therefore it doesn't increase the number of cameras which can be handled by a controller.&lt;br /&gt;
&lt;br /&gt;
{{Important|You can use USB 2.0 or USB 3.0 hubs to connect USB 2.0 cameras. Use only USB 3.0 hubs to connect USB 3.0 cameras. For USB 3.0, prefer ''active'' hubs which use an external power supply.}}&lt;br /&gt;
&lt;br /&gt;
=== Known compatibility issues ===&lt;br /&gt;
Combinations of camera &amp;amp; USB chip listed below have known compatibility issues. Unfortunately, there is no guarantee that other combinations will work for sure, but most will. If you need an additional USB controller for connecting specific camera, be sure not to get the one based on an incompatible USB chip.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Camera'''&lt;br /&gt;
|'''USB chip'''&lt;br /&gt;
|'''Symptoms'''&lt;br /&gt;
|'''Comments / possible solution'''&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Camera is not properly recognized by the system.&lt;br /&gt;
|[http://reconstructme.net/2012/10/13/asus-xtion-usb-3-0-hotfix/ This firmware update] makes device behave the same as PrimeSense Carmine 1.08 with this controller.&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops of color picture in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v1&lt;br /&gt;
|Intel 8x/9x chipset series (built-in, USB 3.0/2.0)&lt;br /&gt;
|Multiple Kinects do not work.&lt;br /&gt;
|[https://social.msdn.microsoft.com/Forums/en-US/b8ff7e7b-befe-426c-8eae-192a9aa3fa88/multiple-kinects-on-an-intel-usb-30-controller-are-failing?forum=kinectsdk Discussion of the issue]&amp;lt;br/&amp;gt;Additional USB controllers needed for multiple Kinects.&amp;lt;br/&amp;gt;One user reports that uninstalling Intel USB 3.0 driver resolves the issue.&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|Etron EJ168&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|VIA VL800&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VL800(USB 3.0)&lt;br /&gt;
|Frame drops, reduced frame rate, freezes in '''depth + color''' modes.&lt;br /&gt;
|Stable work in '''depth only''' modes.&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VL800 (USB 3.0)&lt;br /&gt;
|Great number of bad frames and frame drops. Camera is invisible to iPi Recorder.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Great number of frame drop in 640x480@60 mode.&lt;br /&gt;
|2 cameras can work smoothly at lower FPS (up to 640x480@50).&lt;br /&gt;
|-&lt;br /&gt;
|Sony PlayStation Eye&lt;br /&gt;
|NEC µPD720101 (USB 2.0)&lt;br /&gt;
|Great number of frame drops. Camera stops producing frames.&lt;br /&gt;
|Not recommended to use. Replace with other controllers.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Cameras_and_Accessories</id>
		<title>Cameras and Accessories</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Cameras_and_Accessories"/>
				<updated>2022-01-31T10:08:15Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* USB controllers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can order software and hardware as one package from [http://www.camvfx.com/category/36050116 CamVFX], our official US Reseller.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can [https://www.ipisoft.com/orderhardware.php select and order] items you need separately.&lt;br /&gt;
&lt;br /&gt;
== Cameras ==&lt;br /&gt;
&lt;br /&gt;
=== Sony PlayStation Eye for PS3 ===&lt;br /&gt;
&lt;br /&gt;
Recommended camera for use with iPi Motion Capture is [http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU Sony PlayStation Eye for PS3].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playstation_eye_small2.jpg|link=http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU]]&lt;br /&gt;
&lt;br /&gt;
The following properties make it a preferred camera for motion capture: &lt;br /&gt;
*	High frame rate &amp;amp;mdash; up to 60 frames per second (important for reducing motion blur and capturing fast motions like dancing, boxing or running). &lt;br /&gt;
*	Fully automatic configuration with excellent auto-exposure and auto-gain.&lt;br /&gt;
*	Good-enough low-light sensitivity.&lt;br /&gt;
*	Low-distortion middle-angle fixed optics (75 degrees of diagonal field of view).&lt;br /&gt;
*	Efficient protocol for image transfer. &lt;br /&gt;
*	Extremely low cost (under $10).&lt;br /&gt;
The only major downside of PlayStation Eye is its lack of tripod mounting screw. Possible solutions:&lt;br /&gt;
* To use sticky tape to fix it to any tripod.&lt;br /&gt;
* Order [http://www.amazon.com/Digital-Xbox-Kinect-Playstation-Mount-3/dp/B004V7437O/ref=sr_1_1?s=videogames&amp;amp;ie=UTF8&amp;amp;qid=1414509846&amp;amp;sr=1-1&amp;amp;keywords=TV+mount+for+Kinect+and+PS+Move+Eye+Camera wall mount for Sony PS Eye / Kinect]&lt;br /&gt;
* Order [http://www.camvfx.com/product/PSKPAD-001 Sony PS Eye / Kinect adapter] from our partner CamVFX&lt;br /&gt;
&lt;br /&gt;
{{Note|[https://www.amazon.com/PlayStation-4-Camera-Old-Model/dp/B00BGAA3S2 Sony PlayStation 4 Camera] cannot be used with '''iPi Motion Capture''' because it has proprietary cable connection and there is no adapter for PC on market. The same is true for [https://www.amazon.com/Sony-Camera-V2-PlayStation-4/dp/B0731SXXLP Sony Camera V2 for PlayStation 4].}}&lt;br /&gt;
&lt;br /&gt;
=== Logitech C922 ===&lt;br /&gt;
&lt;br /&gt;
You can use other web cameras with iPi Motion Capture. But there are just a couple of models that can reliably capture video at 60 frames per second. [https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f Logitech C922] is one of such models:&lt;br /&gt;
&lt;br /&gt;
[[File:Logitech_C922_small.png|link=https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f]]&lt;br /&gt;
&lt;br /&gt;
It has the following helpful properties:&lt;br /&gt;
* 60 FPS for 720p resolution.&lt;br /&gt;
* Good optics with reasonable field of view (78 degrees in diagonal) and relatively low distortion.&lt;br /&gt;
* Auto-focus can be turned off.&lt;br /&gt;
* Acceptable colors in low light conditions (better than Sony PS Eye has).&lt;br /&gt;
* USB 2.0 interface (USB repeaters can be used).&lt;br /&gt;
* Tripod mounting screw.&lt;br /&gt;
&lt;br /&gt;
=== Cameras Comparison ===&lt;br /&gt;
&lt;br /&gt;
Which camera to choose?&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Specification&lt;br /&gt;
!Sony&amp;amp;nbsp;PS&amp;amp;nbsp;Eye&lt;br /&gt;
!Logitech&amp;amp;nbsp;C922&lt;br /&gt;
!Winner&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|practical frame rate(s)&lt;br /&gt;
|50&amp;amp;nbsp;FPS, 60&amp;amp;nbsp;FPS&lt;br /&gt;
|60&amp;amp;nbsp;FPS&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|In some cases it is more practical to record at 50 FPS instead of 60 FPS, but C922 doesn't support 50 FPS. Also, PlayStation Eye has more stable frame rate: exactly 60 frames per second, while C922 could drop separate frames time after time and a result actual FPS is slightly smaller than 60. &lt;br /&gt;
|-&lt;br /&gt;
|practical resolution(s)&lt;br /&gt;
|640x480&lt;br /&gt;
|1280x720&lt;br /&gt;
|it&amp;amp;nbsp;depends&lt;br /&gt;
|For iPi Motion Capture it is not so important to have high resolution. Higher resolution just allows to stand farther from camera, which potentially increases maximum capture area. But from the other side, higher resolution means slower processing in [[iPi Mocap Studio]]. Thus if your top priority is the biggest capture area, then Logitech C922 wins. In other case - PS Eye wins. &lt;br /&gt;
|-&lt;br /&gt;
|field of view&lt;br /&gt;
|diagonal:&amp;amp;nbsp;75°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;63°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;49.5°&lt;br /&gt;
|diagonal:&amp;amp;nbsp;78°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;70°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;43°&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|PS Eye has slightly bigger vertical field of view. Therefore an actor can stand closer to camera and still be visible in full length. &lt;br /&gt;
|-&lt;br /&gt;
|optic distorsion&lt;br /&gt;
|low&lt;br /&gt;
|low&lt;br /&gt;
|draw&lt;br /&gt;
|Both cameras have good-enough optics for iPi Motion Capture needs.&lt;br /&gt;
|-&lt;br /&gt;
|image&amp;amp;nbsp;quality&lt;br /&gt;
|good-enough&amp;lt;br/&amp;gt;(but poor in low light conditions)&lt;br /&gt;
|good&amp;lt;br/&amp;gt;(good-enough in low light conditions)&lt;br /&gt;
|C922&lt;br /&gt;
|But image quality is not so critical for iPi Motion Capture.&lt;br /&gt;
|-&lt;br /&gt;
|connection&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|draw &lt;br /&gt;
|Not more than two cameras should be connected to each USB controller to capture at 50 or 60 FPS. But some USB 3.0 controllers can handle up to four cameras at 50 and 60 FPS. This is true for both camera models.&lt;br /&gt;
|-&lt;br /&gt;
|disk&amp;amp;nbsp;usage&amp;lt;br/&amp;gt;(for&amp;amp;nbsp;six&amp;amp;nbsp;cameras)&lt;br /&gt;
|25&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;640x480@60&amp;lt;br/&amp;gt;(background&amp;amp;nbsp;subtraction)&lt;br /&gt;
|35&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;1280x720@60&amp;lt;br/&amp;gt;(raw&amp;amp;nbsp;JPEG&amp;amp;nbsp;frames&amp;amp;nbsp;obtained&amp;amp;nbsp;from&amp;amp;nbsp;cameras)&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|CPU load is higher as well when recording with Logitech C922.&lt;br /&gt;
|-&lt;br /&gt;
|tripod mounting screw&lt;br /&gt;
|no&lt;br /&gt;
|yes&lt;br /&gt;
|C922&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|price&lt;br /&gt;
|under&amp;amp;nbsp;10&amp;amp;nbsp;USD&lt;br /&gt;
|about&amp;amp;nbsp;90&amp;amp;nbsp;USD&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|Prices may differ for different regions. But in any case PS Eye is significantly cheaper.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
Stand-alone cameras that meet requirements below can be used instead of web cameras.&lt;br /&gt;
{{Note|Stand-alone cameras support in available starting from v4 of '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
Requirements for stand-alone cameras:&lt;br /&gt;
* Fixed optics (if camera has auto-focus and zoom features, they must be turned off before recording)&lt;br /&gt;
* High FPS (at least 60 FPS at 720p resolution)&lt;br /&gt;
* Wide field-of-view (at least 90° in diagonal)&lt;br /&gt;
&lt;br /&gt;
You can even mix cameras of different models. But all cameras must support one and the same pair of FPS and resolution.&lt;br /&gt;
&lt;br /&gt;
{{Tip|The most practical resolution for full body motion capture is '''720p''' that is '''1280 x 720'''. Using higher resolutions adds technical complications but does not give substantial advantages.}}&lt;br /&gt;
&lt;br /&gt;
Action cameras fully meet the requirements. The most popular models here are:&lt;br /&gt;
* [https://shop.gopro.com/cameras GoPro]&lt;br /&gt;
* [https://sjcam.com SJCAM]&lt;br /&gt;
* [https://www.yitechnology.com/yi-action-camera YI Action Camera]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;table border=0&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;22%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:GoPro-HERO-5-Black.png|thumb|GoPro HERO5 Black]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:SJCAM-M20-WiFi.jpg|thumb|SJCAM M20 WiFi]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:YI-4K.jpg|thumb|YI 4K]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But you can use other (more affordable) models: [https://www.google.ru/search?q=affordable+action+cameras]. Or even smartphones.&lt;br /&gt;
&lt;br /&gt;
{{Note|If you select action cameras specially for '''iPi Motion Capture''', you can use almost any cheap action camera model which supports 720p (1280 x 720) resolution at 60 or 90 FPS. At least, there is no need to choose cameras that support 4K video because such high resolution is not practical for '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
=== Web Cameras vs. Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
The overall workflow with action cameras is more complicated compared to web cameras. See [[Quick Start Guide for Multiple Action Cameras Configuration]] for details. But you can get certain advantages if you use action cameras:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Configration !! Pros !! Cons&lt;br /&gt;
|-&lt;br /&gt;
| Web&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* Relatively low price&lt;br /&gt;
* Relatively simple and straightforward [[iPi_Recorder_User%27s_Guide#Recording_Workflow|recording workflow]] in [[iPi Recorder]] application&lt;br /&gt;
||&lt;br /&gt;
* Requires rather powerful PC(s) for recording:&lt;br /&gt;
** many USB ports&lt;br /&gt;
** several USB controllers&lt;br /&gt;
** fast storage system&lt;br /&gt;
** fast CPU&lt;br /&gt;
* A lot of USB cables on the floor&lt;br /&gt;
* View angle (FOV) is not wide enough to be used in small rooms&lt;br /&gt;
|-&lt;br /&gt;
| Action&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* No need in PC and external power supply for recording (high mobility)&lt;br /&gt;
* No USB cables on the floor&lt;br /&gt;
* Wider view angle (FOV) results in bigger capture volume&lt;br /&gt;
* Wider view angle allows to record in smaller rooms&lt;br /&gt;
* 90 and even 120 FPS (depends on the model of action camera and lighting conditions)&lt;br /&gt;
||&lt;br /&gt;
* Intrinsic parameters of each camera must be determined in advance ([[How to Calibrate Camera Optics|camera optics calibration]])&lt;br /&gt;
* A few manual and time consuming steps are required to get multi-camera synchronized video:&lt;br /&gt;
** for each camera: extract SD card, copy MP4 video files to PC, convert them to [[.iPiVideo File Extension|iPiVideo format]]&lt;br /&gt;
** manually [[How to Build Synced Multi-Camera Video|build multi-camera video]] and manually set synchronization frames for each camera&lt;br /&gt;
* Right now there is no simple way to use [[Motion Controllers]] with action cameras&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cables ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using of action cameras there is no need in these USB cables.}}&lt;br /&gt;
&lt;br /&gt;
For distances over 3m, you should use [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=active+USB+2.0+extension+cable&amp;amp;x=14&amp;amp;y=22 active USB 2.0 extension cables] (aka ''USB repeaters''). You can daisy-chain multiple active USB 2.0 extension cables for distances longer than 10m. &lt;br /&gt;
&lt;br /&gt;
[[File:Active_USB_cable.jpg|link=]] &lt;br /&gt;
&lt;br /&gt;
When combining active and [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=USB+2.0+EXTENSION+CABLE+TYPE+A+MALE+to+TYPE+A+FEMALE&amp;amp;x=5&amp;amp;y=19 passive cables], make sure that connection order is correct (computer-&amp;gt;active cable-&amp;gt;passive cable-&amp;gt;camera).&lt;br /&gt;
&lt;br /&gt;
{{Tip|Microsoft Kinect v2 is an USB 3.0 device, thus it would require USB 3.0 extension cables. However, because each Kinect v2 requires a separate computer for operation, there is usually no need in extension cables, because computers can be placed appropriately.}}&lt;br /&gt;
&lt;br /&gt;
== Tripods ==&lt;br /&gt;
&lt;br /&gt;
Inexpensive 40- or 50-inch tripods like &lt;br /&gt;
[http://www.amazon.com/gp/product/B001T9N0L2/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B001T9N0L2]&lt;br /&gt;
should be fine for use with iPi Desktop Motion Capture. It is recommended to place at least one of the cameras reasonably high (2 or 3 meters high) so you may need a high (72 inch or higher) tripod like [http://www.amazon.com/gp/product/B003ASZXBK/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B003ASZXBK] or some kind of ad hoc wall mounting solution.&lt;br /&gt;
&lt;br /&gt;
[[File:Tripod.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Mini Maglite (or other flashlight) for calibration ==&lt;br /&gt;
&lt;br /&gt;
You will need a small bright object for calibration. It is recommended to get [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite] for that purpose:&lt;br /&gt;
&lt;br /&gt;
[[File:Maglite.jpg|link=http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL]]&lt;br /&gt;
&lt;br /&gt;
If you cannot get a [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite], you can use some other similar flashlight: &lt;br /&gt;
&lt;br /&gt;
[[File:Noname_flashlight.jpg|250px|link=]]&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use [https://www.amazon.com/Playstation-3-Move-Motion-Controller/dp/B002I0J51U/ref=as_sl_pc_qf_sp_asin_til?tag=wwwipisoftcom-20&amp;amp;linkCode=w00&amp;amp;linkId=3LAZCYWUQQFLH2LX&amp;amp;creativeASIN=B002I0J51U Sony Move] motion controller with white light turned on. &lt;br /&gt;
&lt;br /&gt;
[[File:Psmove.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Video Card ==&lt;br /&gt;
&lt;br /&gt;
iPi Mocap Studio heavily relies on [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] for calculations. Therefore, it is recommended to use a fast GPU for processing recorded videos. The support for DirectX 11 is required (most of the video cards released since 2010 meet this requirement).&lt;br /&gt;
&lt;br /&gt;
Please be aware that desktop GPUs are dramatically faster than laptop GPUs (due to apparent thermal constraints in laptop PCs). [[Laptops with Switchable Graphics]] should be configured to run iPi Mocap Studio on a discrete (high-performance) GPU.&lt;br /&gt;
&lt;br /&gt;
You can check expected tracking speed for various GPU model [https://ipisoft.com/pr/GPU_speed_v_14_04.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can [https://www.ipisoft.com/store/gpu/ Compare and Order] recommended GPU from Amazon.&lt;br /&gt;
&lt;br /&gt;
{{Note|Professional GPUs like NVIDIA Quadro or AMD FirePro are not recommended due to high price and lack of performance advantage. You should understand that Quadro/FirePro video cards are designed for very specific professional OpenGL-based workloads. Their main advantage is high image quality in OpenGL rendering. iPi Motion Capture needs raw 32-bit floating point performance and does not benefit from image quality features of Quadro/FirePro video cards. For best performance, use top gaming-class video cards from NVIDIA or AMD.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Ensure that you are getting [[Maximizing_GPU_performance_in_iPi_Mocap_Studio|maximum of GPU's performance in iPi Mocap Studio]].}}&lt;br /&gt;
&lt;br /&gt;
== USB controllers ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using action cameras there are no special requirements for USB controllers.}}&lt;br /&gt;
&lt;br /&gt;
All modern computers based on Intel and AMD chipsets have at least one combined USB 3.1 (or 3.0) / USB 2.0 controller on board. It is usually capable of handling either of:&lt;br /&gt;
* 2 USB 2.0 depth sensors (e.g. Microsoft Kinect v1)&lt;br /&gt;
* 1 USB 3.0 depth sensor (e.g. Microsoft Azure Kinect)&lt;br /&gt;
* 4 USB 2.0 RGB cameras at 640x480 at 60 FPS (e.g. PS Eye)&lt;br /&gt;
* 6 USB 2.0 RGB cameras at 640x480 at 40 FPS (e.g. PS Eye)&lt;br /&gt;
&lt;br /&gt;
Some PCs may have additional USB controllers built-in. You can check how many USB controllers you have in the '''Universal Serial Bus controllers''' section in the Device Manager.&lt;br /&gt;
[[File:USB_controllers.png|link=]]&lt;br /&gt;
&lt;br /&gt;
Depending on how many cameras or depth sensors you want to use and how many controllers your PC has, you may need to install additional USB controllers or [[Distributed Recording|use multiple PCs for recording]].&lt;br /&gt;
&lt;br /&gt;
{{Tip|Kinect 2 for Windows, Kinect for Xbox One requires a separate USB 3.0 controller per device. However, the standard driver (Kinect SDK 2.0) supports only single sensor per PC (this is a software limitation). An alternative [[Multiple_Kinects_v2_on_a_Single_PC|Libfreenect2]] driver supports multiple Kinect 2 sensors on one PC.}}&lt;br /&gt;
&lt;br /&gt;
For desktop PCs, additional USB controllers usually come in the form of PCIe extension cards. There are PCIe cards which have 2 or even 4 separate USB 3.0 chips onboard. So with a single card you can cover all your needs in additional USB controllers. Look for references to such cards on [https://www.ipisoft.com/store/hardware/ our website].&lt;br /&gt;
&lt;br /&gt;
Modern laptops usually lack options to add more USB controllers. So if you're going to use a laptop for recording with many cameras look for gaming-class products. They often include an additional USB controller and more USB ports than conventional &amp;quot;work-horse&amp;quot; laptops. Besides, due to having a high-performance discrete GPU they can be used for occasional tracking, although employing a desktop GPU for that purpose is a preferred option.&lt;br /&gt;
&lt;br /&gt;
{{Important|Some USB chips have compatibility issues with specific cameras which may result in not detecting cameras, low frame rate, etc. See [[#Known compatibility issues|the next section]] on known issues. When getting a PCIe USB card we strongly recommend to look for one based on a NEC/Renesas USB 3.0 chip. It has the best compatibility we've seen so far across various models of cameras and depth sensors.}}&lt;br /&gt;
&lt;br /&gt;
Sometimes an USB controllers provides less USB ports than the number of cameras it can handle. For instance, when using RGB cameras with a laptop or a multi-chip PCIe USB card. In this case you can use an ''USB hub'' to increase the number of USB ports and use the full bandwidth of an USB controller. Note that a hub ''is not'' an USB controller, therefore it doesn't increase the number of cameras which can be handled by a controller.&lt;br /&gt;
&lt;br /&gt;
{{Important|You can use USB 2.0 or USB 3.0 hubs to connect USB 2.0 cameras. Use only USB 3.0 hubs to connect USB 3.0 cameras. For USB 3.0, prefer ''active'' hubs which use an external power supply.}}&lt;br /&gt;
&lt;br /&gt;
=== Known compatibility issues ===&lt;br /&gt;
Combinations of camera &amp;amp; USB chip listed below have known compatibility issues. Unfortunately, there is no guarantee that other combinations will work for sure, but most will. If you need an additional USB controller for connecting specific camera, be sure not to get the one based on an incompatible USB chip.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Camera'''&lt;br /&gt;
|'''USB chip'''&lt;br /&gt;
|'''Symptoms'''&lt;br /&gt;
|'''Comments / possible solution'''&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Camera is not properly recognized by the system.&lt;br /&gt;
|[http://reconstructme.net/2012/10/13/asus-xtion-usb-3-0-hotfix/ This firmware update] makes device behave the same as PrimeSense Carmine 1.08 with this controller.&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops of color picture in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v1&lt;br /&gt;
|Intel 8x/9x chipset series (built-in, USB 3.0/2.0)&lt;br /&gt;
|Multiple Kinects do not work.&lt;br /&gt;
|[https://social.msdn.microsoft.com/Forums/en-US/b8ff7e7b-befe-426c-8eae-192a9aa3fa88/multiple-kinects-on-an-intel-usb-30-controller-are-failing?forum=kinectsdk Discussion of the issue]&amp;lt;br/&amp;gt;Additional USB controllers needed for multiple Kinects.&amp;lt;br/&amp;gt;One user reports that uninstalling Intel USB 3.0 driver resolves the issue.&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|Etron EJ168&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|VIA VL800&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VL800(USB 3.0)&lt;br /&gt;
|Frame drops, reduced frame rate, freezes in '''depth + color''' modes.&lt;br /&gt;
|Stable work in '''depth only''' modes.&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VL800 (USB 3.0)&lt;br /&gt;
|Great number of bad frames and frame drops. Camera is invisible to iPi Recorder.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Great number of frame drop in 640x480@60 mode.&lt;br /&gt;
|2 cameras can work smoothly at lower FPS (up to 640x480@50).&lt;br /&gt;
|-&lt;br /&gt;
|Sony PlayStation Eye&lt;br /&gt;
|NEC µPD720101 (USB 2.0)&lt;br /&gt;
|Great number of frame drops. Camera stops producing frames.&lt;br /&gt;
|Not recommended to use. Replace with other controllers.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Cameras_and_Accessories</id>
		<title>Cameras and Accessories</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Cameras_and_Accessories"/>
				<updated>2022-01-31T10:06:23Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Actualized info about USB&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can order software and hardware as one package from [http://www.camvfx.com/category/36050116 CamVFX], our official US Reseller.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can [https://www.ipisoft.com/orderhardware.php select and order] items you need separately.&lt;br /&gt;
&lt;br /&gt;
== Cameras ==&lt;br /&gt;
&lt;br /&gt;
=== Sony PlayStation Eye for PS3 ===&lt;br /&gt;
&lt;br /&gt;
Recommended camera for use with iPi Motion Capture is [http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU Sony PlayStation Eye for PS3].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playstation_eye_small2.jpg|link=http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU]]&lt;br /&gt;
&lt;br /&gt;
The following properties make it a preferred camera for motion capture: &lt;br /&gt;
*	High frame rate &amp;amp;mdash; up to 60 frames per second (important for reducing motion blur and capturing fast motions like dancing, boxing or running). &lt;br /&gt;
*	Fully automatic configuration with excellent auto-exposure and auto-gain.&lt;br /&gt;
*	Good-enough low-light sensitivity.&lt;br /&gt;
*	Low-distortion middle-angle fixed optics (75 degrees of diagonal field of view).&lt;br /&gt;
*	Efficient protocol for image transfer. &lt;br /&gt;
*	Extremely low cost (under $10).&lt;br /&gt;
The only major downside of PlayStation Eye is its lack of tripod mounting screw. Possible solutions:&lt;br /&gt;
* To use sticky tape to fix it to any tripod.&lt;br /&gt;
* Order [http://www.amazon.com/Digital-Xbox-Kinect-Playstation-Mount-3/dp/B004V7437O/ref=sr_1_1?s=videogames&amp;amp;ie=UTF8&amp;amp;qid=1414509846&amp;amp;sr=1-1&amp;amp;keywords=TV+mount+for+Kinect+and+PS+Move+Eye+Camera wall mount for Sony PS Eye / Kinect]&lt;br /&gt;
* Order [http://www.camvfx.com/product/PSKPAD-001 Sony PS Eye / Kinect adapter] from our partner CamVFX&lt;br /&gt;
&lt;br /&gt;
{{Note|[https://www.amazon.com/PlayStation-4-Camera-Old-Model/dp/B00BGAA3S2 Sony PlayStation 4 Camera] cannot be used with '''iPi Motion Capture''' because it has proprietary cable connection and there is no adapter for PC on market. The same is true for [https://www.amazon.com/Sony-Camera-V2-PlayStation-4/dp/B0731SXXLP Sony Camera V2 for PlayStation 4].}}&lt;br /&gt;
&lt;br /&gt;
=== Logitech C922 ===&lt;br /&gt;
&lt;br /&gt;
You can use other web cameras with iPi Motion Capture. But there are just a couple of models that can reliably capture video at 60 frames per second. [https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f Logitech C922] is one of such models:&lt;br /&gt;
&lt;br /&gt;
[[File:Logitech_C922_small.png|link=https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f]]&lt;br /&gt;
&lt;br /&gt;
It has the following helpful properties:&lt;br /&gt;
* 60 FPS for 720p resolution.&lt;br /&gt;
* Good optics with reasonable field of view (78 degrees in diagonal) and relatively low distortion.&lt;br /&gt;
* Auto-focus can be turned off.&lt;br /&gt;
* Acceptable colors in low light conditions (better than Sony PS Eye has).&lt;br /&gt;
* USB 2.0 interface (USB repeaters can be used).&lt;br /&gt;
* Tripod mounting screw.&lt;br /&gt;
&lt;br /&gt;
=== Cameras Comparison ===&lt;br /&gt;
&lt;br /&gt;
Which camera to choose?&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Specification&lt;br /&gt;
!Sony&amp;amp;nbsp;PS&amp;amp;nbsp;Eye&lt;br /&gt;
!Logitech&amp;amp;nbsp;C922&lt;br /&gt;
!Winner&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|practical frame rate(s)&lt;br /&gt;
|50&amp;amp;nbsp;FPS, 60&amp;amp;nbsp;FPS&lt;br /&gt;
|60&amp;amp;nbsp;FPS&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|In some cases it is more practical to record at 50 FPS instead of 60 FPS, but C922 doesn't support 50 FPS. Also, PlayStation Eye has more stable frame rate: exactly 60 frames per second, while C922 could drop separate frames time after time and a result actual FPS is slightly smaller than 60. &lt;br /&gt;
|-&lt;br /&gt;
|practical resolution(s)&lt;br /&gt;
|640x480&lt;br /&gt;
|1280x720&lt;br /&gt;
|it&amp;amp;nbsp;depends&lt;br /&gt;
|For iPi Motion Capture it is not so important to have high resolution. Higher resolution just allows to stand farther from camera, which potentially increases maximum capture area. But from the other side, higher resolution means slower processing in [[iPi Mocap Studio]]. Thus if your top priority is the biggest capture area, then Logitech C922 wins. In other case - PS Eye wins. &lt;br /&gt;
|-&lt;br /&gt;
|field of view&lt;br /&gt;
|diagonal:&amp;amp;nbsp;75°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;63°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;49.5°&lt;br /&gt;
|diagonal:&amp;amp;nbsp;78°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;70°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;43°&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|PS Eye has slightly bigger vertical field of view. Therefore an actor can stand closer to camera and still be visible in full length. &lt;br /&gt;
|-&lt;br /&gt;
|optic distorsion&lt;br /&gt;
|low&lt;br /&gt;
|low&lt;br /&gt;
|draw&lt;br /&gt;
|Both cameras have good-enough optics for iPi Motion Capture needs.&lt;br /&gt;
|-&lt;br /&gt;
|image&amp;amp;nbsp;quality&lt;br /&gt;
|good-enough&amp;lt;br/&amp;gt;(but poor in low light conditions)&lt;br /&gt;
|good&amp;lt;br/&amp;gt;(good-enough in low light conditions)&lt;br /&gt;
|C922&lt;br /&gt;
|But image quality is not so critical for iPi Motion Capture.&lt;br /&gt;
|-&lt;br /&gt;
|connection&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|draw &lt;br /&gt;
|Not more than two cameras should be connected to each USB controller to capture at 50 or 60 FPS. But some USB 3.0 controllers can handle up to four cameras at 50 and 60 FPS. This is true for both camera models.&lt;br /&gt;
|-&lt;br /&gt;
|disk&amp;amp;nbsp;usage&amp;lt;br/&amp;gt;(for&amp;amp;nbsp;six&amp;amp;nbsp;cameras)&lt;br /&gt;
|25&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;640x480@60&amp;lt;br/&amp;gt;(background&amp;amp;nbsp;subtraction)&lt;br /&gt;
|35&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;1280x720@60&amp;lt;br/&amp;gt;(raw&amp;amp;nbsp;JPEG&amp;amp;nbsp;frames&amp;amp;nbsp;obtained&amp;amp;nbsp;from&amp;amp;nbsp;cameras)&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|CPU load is higher as well when recording with Logitech C922.&lt;br /&gt;
|-&lt;br /&gt;
|tripod mounting screw&lt;br /&gt;
|no&lt;br /&gt;
|yes&lt;br /&gt;
|C922&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|price&lt;br /&gt;
|under&amp;amp;nbsp;10&amp;amp;nbsp;USD&lt;br /&gt;
|about&amp;amp;nbsp;90&amp;amp;nbsp;USD&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|Prices may differ for different regions. But in any case PS Eye is significantly cheaper.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
Stand-alone cameras that meet requirements below can be used instead of web cameras.&lt;br /&gt;
{{Note|Stand-alone cameras support in available starting from v4 of '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
Requirements for stand-alone cameras:&lt;br /&gt;
* Fixed optics (if camera has auto-focus and zoom features, they must be turned off before recording)&lt;br /&gt;
* High FPS (at least 60 FPS at 720p resolution)&lt;br /&gt;
* Wide field-of-view (at least 90° in diagonal)&lt;br /&gt;
&lt;br /&gt;
You can even mix cameras of different models. But all cameras must support one and the same pair of FPS and resolution.&lt;br /&gt;
&lt;br /&gt;
{{Tip|The most practical resolution for full body motion capture is '''720p''' that is '''1280 x 720'''. Using higher resolutions adds technical complications but does not give substantial advantages.}}&lt;br /&gt;
&lt;br /&gt;
Action cameras fully meet the requirements. The most popular models here are:&lt;br /&gt;
* [https://shop.gopro.com/cameras GoPro]&lt;br /&gt;
* [https://sjcam.com SJCAM]&lt;br /&gt;
* [https://www.yitechnology.com/yi-action-camera YI Action Camera]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;table border=0&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;22%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:GoPro-HERO-5-Black.png|thumb|GoPro HERO5 Black]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:SJCAM-M20-WiFi.jpg|thumb|SJCAM M20 WiFi]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:YI-4K.jpg|thumb|YI 4K]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But you can use other (more affordable) models: [https://www.google.ru/search?q=affordable+action+cameras]. Or even smartphones.&lt;br /&gt;
&lt;br /&gt;
{{Note|If you select action cameras specially for '''iPi Motion Capture''', you can use almost any cheap action camera model which supports 720p (1280 x 720) resolution at 60 or 90 FPS. At least, there is no need to choose cameras that support 4K video because such high resolution is not practical for '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
=== Web Cameras vs. Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
The overall workflow with action cameras is more complicated compared to web cameras. See [[Quick Start Guide for Multiple Action Cameras Configuration]] for details. But you can get certain advantages if you use action cameras:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Configration !! Pros !! Cons&lt;br /&gt;
|-&lt;br /&gt;
| Web&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* Relatively low price&lt;br /&gt;
* Relatively simple and straightforward [[iPi_Recorder_User%27s_Guide#Recording_Workflow|recording workflow]] in [[iPi Recorder]] application&lt;br /&gt;
||&lt;br /&gt;
* Requires rather powerful PC(s) for recording:&lt;br /&gt;
** many USB ports&lt;br /&gt;
** several USB controllers&lt;br /&gt;
** fast storage system&lt;br /&gt;
** fast CPU&lt;br /&gt;
* A lot of USB cables on the floor&lt;br /&gt;
* View angle (FOV) is not wide enough to be used in small rooms&lt;br /&gt;
|-&lt;br /&gt;
| Action&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* No need in PC and external power supply for recording (high mobility)&lt;br /&gt;
* No USB cables on the floor&lt;br /&gt;
* Wider view angle (FOV) results in bigger capture volume&lt;br /&gt;
* Wider view angle allows to record in smaller rooms&lt;br /&gt;
* 90 and even 120 FPS (depends on the model of action camera and lighting conditions)&lt;br /&gt;
||&lt;br /&gt;
* Intrinsic parameters of each camera must be determined in advance ([[How to Calibrate Camera Optics|camera optics calibration]])&lt;br /&gt;
* A few manual and time consuming steps are required to get multi-camera synchronized video:&lt;br /&gt;
** for each camera: extract SD card, copy MP4 video files to PC, convert them to [[.iPiVideo File Extension|iPiVideo format]]&lt;br /&gt;
** manually [[How to Build Synced Multi-Camera Video|build multi-camera video]] and manually set synchronization frames for each camera&lt;br /&gt;
* Right now there is no simple way to use [[Motion Controllers]] with action cameras&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cables ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using of action cameras there is no need in these USB cables.}}&lt;br /&gt;
&lt;br /&gt;
For distances over 3m, you should use [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=active+USB+2.0+extension+cable&amp;amp;x=14&amp;amp;y=22 active USB 2.0 extension cables] (aka ''USB repeaters''). You can daisy-chain multiple active USB 2.0 extension cables for distances longer than 10m. &lt;br /&gt;
&lt;br /&gt;
[[File:Active_USB_cable.jpg|link=]] &lt;br /&gt;
&lt;br /&gt;
When combining active and [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=USB+2.0+EXTENSION+CABLE+TYPE+A+MALE+to+TYPE+A+FEMALE&amp;amp;x=5&amp;amp;y=19 passive cables], make sure that connection order is correct (computer-&amp;gt;active cable-&amp;gt;passive cable-&amp;gt;camera).&lt;br /&gt;
&lt;br /&gt;
{{Tip|Microsoft Kinect v2 is an USB 3.0 device, thus it would require USB 3.0 extension cables. However, because each Kinect v2 requires a separate computer for operation, there is usually no need in extension cables, because computers can be placed appropriately.}}&lt;br /&gt;
&lt;br /&gt;
== Tripods ==&lt;br /&gt;
&lt;br /&gt;
Inexpensive 40- or 50-inch tripods like &lt;br /&gt;
[http://www.amazon.com/gp/product/B001T9N0L2/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B001T9N0L2]&lt;br /&gt;
should be fine for use with iPi Desktop Motion Capture. It is recommended to place at least one of the cameras reasonably high (2 or 3 meters high) so you may need a high (72 inch or higher) tripod like [http://www.amazon.com/gp/product/B003ASZXBK/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B003ASZXBK] or some kind of ad hoc wall mounting solution.&lt;br /&gt;
&lt;br /&gt;
[[File:Tripod.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Mini Maglite (or other flashlight) for calibration ==&lt;br /&gt;
&lt;br /&gt;
You will need a small bright object for calibration. It is recommended to get [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite] for that purpose:&lt;br /&gt;
&lt;br /&gt;
[[File:Maglite.jpg|link=http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL]]&lt;br /&gt;
&lt;br /&gt;
If you cannot get a [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite], you can use some other similar flashlight: &lt;br /&gt;
&lt;br /&gt;
[[File:Noname_flashlight.jpg|250px|link=]]&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use [https://www.amazon.com/Playstation-3-Move-Motion-Controller/dp/B002I0J51U/ref=as_sl_pc_qf_sp_asin_til?tag=wwwipisoftcom-20&amp;amp;linkCode=w00&amp;amp;linkId=3LAZCYWUQQFLH2LX&amp;amp;creativeASIN=B002I0J51U Sony Move] motion controller with white light turned on. &lt;br /&gt;
&lt;br /&gt;
[[File:Psmove.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Video Card ==&lt;br /&gt;
&lt;br /&gt;
iPi Mocap Studio heavily relies on [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] for calculations. Therefore, it is recommended to use a fast GPU for processing recorded videos. The support for DirectX 11 is required (most of the video cards released since 2010 meet this requirement).&lt;br /&gt;
&lt;br /&gt;
Please be aware that desktop GPUs are dramatically faster than laptop GPUs (due to apparent thermal constraints in laptop PCs). [[Laptops with Switchable Graphics]] should be configured to run iPi Mocap Studio on a discrete (high-performance) GPU.&lt;br /&gt;
&lt;br /&gt;
You can check expected tracking speed for various GPU model [https://ipisoft.com/pr/GPU_speed_v_14_04.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can [https://www.ipisoft.com/store/gpu/ Compare and Order] recommended GPU from Amazon.&lt;br /&gt;
&lt;br /&gt;
{{Note|Professional GPUs like NVIDIA Quadro or AMD FirePro are not recommended due to high price and lack of performance advantage. You should understand that Quadro/FirePro video cards are designed for very specific professional OpenGL-based workloads. Their main advantage is high image quality in OpenGL rendering. iPi Motion Capture needs raw 32-bit floating point performance and does not benefit from image quality features of Quadro/FirePro video cards. For best performance, use top gaming-class video cards from NVIDIA or AMD.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Ensure that you are getting [[Maximizing_GPU_performance_in_iPi_Mocap_Studio|maximum of GPU's performance in iPi Mocap Studio]].}}&lt;br /&gt;
&lt;br /&gt;
== USB controllers ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using action cameras there are no special requirements for USB controllers.}}&lt;br /&gt;
&lt;br /&gt;
All modern computers based on Intel and AMD chipsets have at least one combined USB 3.1 (or 3.0) / USB 2.0 controller on board. It is usually capable of handling either of:&lt;br /&gt;
* 2 USB 2.0 depth sensors (e.g. Microsoft Kinect v1)&lt;br /&gt;
* 1 USB 3.0 depth sensor (e.g. Microsoft Azure Kinect)&lt;br /&gt;
* 4 USB 2.0 RGB cameras at 640x480 at 60 FPS (e.g. PS Eye)&lt;br /&gt;
* 6 USB 2.0 RGB cameras at 640x480 at 40 FPS (e.g. PS Eye)&lt;br /&gt;
&lt;br /&gt;
Some PCs may have additional USB controllers built-in. You can check how many USB controllers you have in the '''Universal Serial Bus controllers''' section in the Device Manager.&lt;br /&gt;
[[File:USB_controllers.png|link=]]&lt;br /&gt;
&lt;br /&gt;
Depending on how many cameras or depth sensors you want to use and how many controllers your PC has, you may need to install additional USB controllers or [[Distributed Recording|use multiple PCs for recording]].&lt;br /&gt;
&lt;br /&gt;
{{Tip|Kinect 2 for Windows, Kinect for Xbox One requires a separate USB 3.0 controller per device. However, the standard driver (Kinect SDK 2.0) supports only single sensor per PC (this is a software limitation). An alternative [[Multiple_Kinects_v2_on_a_Single_PC|Libfreenect2]] driver supports multiple Kinect 2 sensors on one PC.}}&lt;br /&gt;
&lt;br /&gt;
For desktop PCs, additional USB controllers usually come in the form of PCIe extension cards. There are PCIe cards which have 2 or even 4 separate USB 3.0 chips onboard so with a single card you can cover all your needs in additional USB controllers. Look for references to such cards on [https://www.ipisoft.com/store/hardware/ our website].&lt;br /&gt;
&lt;br /&gt;
Modern laptops usually lack options to add more USB controllers. So if you're going to use a laptop for recording with many cameras look for gaming-class products. They often include an additional USB controller and more USB ports than conventional &amp;quot;work-horse&amp;quot; laptops. Besides, due to having a high-performance discrete GPU they can be used for occasional tracking, although employing a desktop GPU for that purpose is a preferred option.&lt;br /&gt;
&lt;br /&gt;
{{Important|Some USB chips have compatibility issues with specific cameras which may result in not detecting cameras, low frame rate, etc. See [[#Known compatibility issues|the next section]] on known issues. When getting a PCIe USB card we strongly recommend to look for one based on a NEC/Renesas USB 3.0 chip. It has the best compatibility we've seen so far across various models of cameras and depth sensors.}}&lt;br /&gt;
&lt;br /&gt;
Sometimes an USB controllers provides less USB ports than the number of cameras it can handle. For instance, when using RGB cameras with a laptop or a multi-chip PCIe USB card. In this case you can use an ''USB hub'' to increase the number of USB ports and use the full bandwidth of an USB controller. Note that a hub ''is not'' an USB controller, therefore it doesn't increase the number of cameras which can be handled by a controller.&lt;br /&gt;
&lt;br /&gt;
{{Important|You can use USB 2.0 or USB 3.0 hubs to connect USB 2.0 cameras. Use only USB 3.0 hubs to connect USB 3.0 cameras. For USB 3.0, prefer ''active'' hubs which use an external power supply.}}&lt;br /&gt;
&lt;br /&gt;
=== Known compatibility issues ===&lt;br /&gt;
Combinations of camera &amp;amp; USB chip listed below have known compatibility issues. Unfortunately, there is no guarantee that other combinations will work for sure, but most will. If you need an additional USB controller for connecting specific camera, be sure not to get the one based on an incompatible USB chip.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Camera'''&lt;br /&gt;
|'''USB chip'''&lt;br /&gt;
|'''Symptoms'''&lt;br /&gt;
|'''Comments / possible solution'''&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Camera is not properly recognized by the system.&lt;br /&gt;
|[http://reconstructme.net/2012/10/13/asus-xtion-usb-3-0-hotfix/ This firmware update] makes device behave the same as PrimeSense Carmine 1.08 with this controller.&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops of color picture in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v1&lt;br /&gt;
|Intel 8x/9x chipset series (built-in, USB 3.0/2.0)&lt;br /&gt;
|Multiple Kinects do not work.&lt;br /&gt;
|[https://social.msdn.microsoft.com/Forums/en-US/b8ff7e7b-befe-426c-8eae-192a9aa3fa88/multiple-kinects-on-an-intel-usb-30-controller-are-failing?forum=kinectsdk Discussion of the issue]&amp;lt;br/&amp;gt;Additional USB controllers needed for multiple Kinects.&amp;lt;br/&amp;gt;One user reports that uninstalling Intel USB 3.0 driver resolves the issue.&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|Etron EJ168&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|VIA VL800&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VL800(USB 3.0)&lt;br /&gt;
|Frame drops, reduced frame rate, freezes in '''depth + color''' modes.&lt;br /&gt;
|Stable work in '''depth only''' modes.&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VL800 (USB 3.0)&lt;br /&gt;
|Great number of bad frames and frame drops. Camera is invisible to iPi Recorder.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Great number of frame drop in 640x480@60 mode.&lt;br /&gt;
|2 cameras can work smoothly at lower FPS (up to 640x480@50).&lt;br /&gt;
|-&lt;br /&gt;
|Sony PlayStation Eye&lt;br /&gt;
|NEC µPD720101 (USB 2.0)&lt;br /&gt;
|Great number of frame drops. Camera stops producing frames.&lt;br /&gt;
|Not recommended to use. Replace with other controllers.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Cameras_and_Accessories</id>
		<title>Cameras and Accessories</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Cameras_and_Accessories"/>
				<updated>2022-01-31T08:35:41Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* Video Card */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can order software and hardware as one package from [http://www.camvfx.com/category/36050116 CamVFX], our official US Reseller.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can [https://www.ipisoft.com/orderhardware.php select and order] items you need separately.&lt;br /&gt;
&lt;br /&gt;
== Cameras ==&lt;br /&gt;
&lt;br /&gt;
=== Sony PlayStation Eye for PS3 ===&lt;br /&gt;
&lt;br /&gt;
Recommended camera for use with iPi Motion Capture is [http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU Sony PlayStation Eye for PS3].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playstation_eye_small2.jpg|link=http://www.amazon.com/gp/product/B000VTQ3LU/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B000VTQ3LU]]&lt;br /&gt;
&lt;br /&gt;
The following properties make it a preferred camera for motion capture: &lt;br /&gt;
*	High frame rate &amp;amp;mdash; up to 60 frames per second (important for reducing motion blur and capturing fast motions like dancing, boxing or running). &lt;br /&gt;
*	Fully automatic configuration with excellent auto-exposure and auto-gain.&lt;br /&gt;
*	Good-enough low-light sensitivity.&lt;br /&gt;
*	Low-distortion middle-angle fixed optics (75 degrees of diagonal field of view).&lt;br /&gt;
*	Efficient protocol for image transfer. &lt;br /&gt;
*	Extremely low cost (under $10).&lt;br /&gt;
The only major downside of PlayStation Eye is its lack of tripod mounting screw. Possible solutions:&lt;br /&gt;
* To use sticky tape to fix it to any tripod.&lt;br /&gt;
* Order [http://www.amazon.com/Digital-Xbox-Kinect-Playstation-Mount-3/dp/B004V7437O/ref=sr_1_1?s=videogames&amp;amp;ie=UTF8&amp;amp;qid=1414509846&amp;amp;sr=1-1&amp;amp;keywords=TV+mount+for+Kinect+and+PS+Move+Eye+Camera wall mount for Sony PS Eye / Kinect]&lt;br /&gt;
* Order [http://www.camvfx.com/product/PSKPAD-001 Sony PS Eye / Kinect adapter] from our partner CamVFX&lt;br /&gt;
&lt;br /&gt;
{{Note|[https://www.amazon.com/PlayStation-4-Camera-Old-Model/dp/B00BGAA3S2 Sony PlayStation 4 Camera] cannot be used with '''iPi Motion Capture''' because it has proprietary cable connection and there is no adapter for PC on market. The same is true for [https://www.amazon.com/Sony-Camera-V2-PlayStation-4/dp/B0731SXXLP Sony Camera V2 for PlayStation 4].}}&lt;br /&gt;
&lt;br /&gt;
=== Logitech C922 ===&lt;br /&gt;
&lt;br /&gt;
You can use other web cameras with iPi Motion Capture. But there are just a couple of models that can reliably capture video at 60 frames per second. [https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f Logitech C922] is one of such models:&lt;br /&gt;
&lt;br /&gt;
[[File:Logitech_C922_small.png|link=https://www.amazon.com/gp/product/B01LXCDPPK/ref=as_li_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LXCDPPK&amp;amp;linkId=c5e764b85473049a0b9287d1a99bf45f]]&lt;br /&gt;
&lt;br /&gt;
It has the following helpful properties:&lt;br /&gt;
* 60 FPS for 720p resolution.&lt;br /&gt;
* Good optics with reasonable field of view (78 degrees in diagonal) and relatively low distortion.&lt;br /&gt;
* Auto-focus can be turned off.&lt;br /&gt;
* Acceptable colors in low light conditions (better than Sony PS Eye has).&lt;br /&gt;
* USB 2.0 interface (USB repeaters can be used).&lt;br /&gt;
* Tripod mounting screw.&lt;br /&gt;
&lt;br /&gt;
=== Cameras Comparison ===&lt;br /&gt;
&lt;br /&gt;
Which camera to choose?&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Specification&lt;br /&gt;
!Sony&amp;amp;nbsp;PS&amp;amp;nbsp;Eye&lt;br /&gt;
!Logitech&amp;amp;nbsp;C922&lt;br /&gt;
!Winner&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|practical frame rate(s)&lt;br /&gt;
|50&amp;amp;nbsp;FPS, 60&amp;amp;nbsp;FPS&lt;br /&gt;
|60&amp;amp;nbsp;FPS&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|In some cases it is more practical to record at 50 FPS instead of 60 FPS, but C922 doesn't support 50 FPS. Also, PlayStation Eye has more stable frame rate: exactly 60 frames per second, while C922 could drop separate frames time after time and a result actual FPS is slightly smaller than 60. &lt;br /&gt;
|-&lt;br /&gt;
|practical resolution(s)&lt;br /&gt;
|640x480&lt;br /&gt;
|1280x720&lt;br /&gt;
|it&amp;amp;nbsp;depends&lt;br /&gt;
|For iPi Motion Capture it is not so important to have high resolution. Higher resolution just allows to stand farther from camera, which potentially increases maximum capture area. But from the other side, higher resolution means slower processing in [[iPi Mocap Studio]]. Thus if your top priority is the biggest capture area, then Logitech C922 wins. In other case - PS Eye wins. &lt;br /&gt;
|-&lt;br /&gt;
|field of view&lt;br /&gt;
|diagonal:&amp;amp;nbsp;75°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;63°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;49.5°&lt;br /&gt;
|diagonal:&amp;amp;nbsp;78°&amp;lt;br/&amp;gt;horizontal:&amp;amp;nbsp;70°&amp;lt;br/&amp;gt;vertical:&amp;amp;nbsp;43°&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|PS Eye has slightly bigger vertical field of view. Therefore an actor can stand closer to camera and still be visible in full length. &lt;br /&gt;
|-&lt;br /&gt;
|optic distorsion&lt;br /&gt;
|low&lt;br /&gt;
|low&lt;br /&gt;
|draw&lt;br /&gt;
|Both cameras have good-enough optics for iPi Motion Capture needs.&lt;br /&gt;
|-&lt;br /&gt;
|image&amp;amp;nbsp;quality&lt;br /&gt;
|good-enough&amp;lt;br/&amp;gt;(but poor in low light conditions)&lt;br /&gt;
|good&amp;lt;br/&amp;gt;(good-enough in low light conditions)&lt;br /&gt;
|C922&lt;br /&gt;
|But image quality is not so critical for iPi Motion Capture.&lt;br /&gt;
|-&lt;br /&gt;
|connection&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|USB&amp;amp;nbsp;2.0&amp;lt;br/&amp;gt;(up to 2-4 cameras per USB-controller)&lt;br /&gt;
|draw &lt;br /&gt;
|Not more than two cameras should be connected to each USB controller to capture at 50 or 60 FPS. But some USB 3.0 controllers can handle up to four cameras at 50 and 60 FPS. This is true for both camera models.&lt;br /&gt;
|-&lt;br /&gt;
|disk&amp;amp;nbsp;usage&amp;lt;br/&amp;gt;(for&amp;amp;nbsp;six&amp;amp;nbsp;cameras)&lt;br /&gt;
|25&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;640x480@60&amp;lt;br/&amp;gt;(background&amp;amp;nbsp;subtraction)&lt;br /&gt;
|35&amp;amp;nbsp;MB/sec&amp;lt;br/&amp;gt;1280x720@60&amp;lt;br/&amp;gt;(raw&amp;amp;nbsp;JPEG&amp;amp;nbsp;frames&amp;amp;nbsp;obtained&amp;amp;nbsp;from&amp;amp;nbsp;cameras)&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|CPU load is higher as well when recording with Logitech C922.&lt;br /&gt;
|-&lt;br /&gt;
|tripod mounting screw&lt;br /&gt;
|no&lt;br /&gt;
|yes&lt;br /&gt;
|C922&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|price&lt;br /&gt;
|under&amp;amp;nbsp;10&amp;amp;nbsp;USD&lt;br /&gt;
|about&amp;amp;nbsp;90&amp;amp;nbsp;USD&lt;br /&gt;
|PS&amp;amp;nbsp;Eye&lt;br /&gt;
|Prices may differ for different regions. But in any case PS Eye is significantly cheaper.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
Stand-alone cameras that meet requirements below can be used instead of web cameras.&lt;br /&gt;
{{Note|Stand-alone cameras support in available starting from v4 of '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
Requirements for stand-alone cameras:&lt;br /&gt;
* Fixed optics (if camera has auto-focus and zoom features, they must be turned off before recording)&lt;br /&gt;
* High FPS (at least 60 FPS at 720p resolution)&lt;br /&gt;
* Wide field-of-view (at least 90° in diagonal)&lt;br /&gt;
&lt;br /&gt;
You can even mix cameras of different models. But all cameras must support one and the same pair of FPS and resolution.&lt;br /&gt;
&lt;br /&gt;
{{Tip|The most practical resolution for full body motion capture is '''720p''' that is '''1280 x 720'''. Using higher resolutions adds technical complications but does not give substantial advantages.}}&lt;br /&gt;
&lt;br /&gt;
Action cameras fully meet the requirements. The most popular models here are:&lt;br /&gt;
* [https://shop.gopro.com/cameras GoPro]&lt;br /&gt;
* [https://sjcam.com SJCAM]&lt;br /&gt;
* [https://www.yitechnology.com/yi-action-camera YI Action Camera]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;table border=0&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;22%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:GoPro-HERO-5-Black.png|thumb|GoPro HERO5 Black]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:SJCAM-M20-WiFi.jpg|thumb|SJCAM M20 WiFi]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;5%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;30%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:YI-4K.jpg|thumb|YI 4K]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But you can use other (more affordable) models: [https://www.google.ru/search?q=affordable+action+cameras]. Or even smartphones.&lt;br /&gt;
&lt;br /&gt;
{{Note|If you select action cameras specially for '''iPi Motion Capture''', you can use almost any cheap action camera model which supports 720p (1280 x 720) resolution at 60 or 90 FPS. At least, there is no need to choose cameras that support 4K video because such high resolution is not practical for '''iPi Motion Capture'''.}}&lt;br /&gt;
&lt;br /&gt;
=== Web Cameras vs. Action Cameras ===&lt;br /&gt;
&lt;br /&gt;
The overall workflow with action cameras is more complicated compared to web cameras. See [[Quick Start Guide for Multiple Action Cameras Configuration]] for details. But you can get certain advantages if you use action cameras:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Configration !! Pros !! Cons&lt;br /&gt;
|-&lt;br /&gt;
| Web&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* Relatively low price&lt;br /&gt;
* Relatively simple and straightforward [[iPi_Recorder_User%27s_Guide#Recording_Workflow|recording workflow]] in [[iPi Recorder]] application&lt;br /&gt;
||&lt;br /&gt;
* Requires rather powerful PC(s) for recording:&lt;br /&gt;
** many USB ports&lt;br /&gt;
** several USB controllers&lt;br /&gt;
** fast storage system&lt;br /&gt;
** fast CPU&lt;br /&gt;
* A lot of USB cables on the floor&lt;br /&gt;
* View angle (FOV) is not wide enough to be used in small rooms&lt;br /&gt;
|-&lt;br /&gt;
| Action&amp;amp;nbsp;Cameras&lt;br /&gt;
||&lt;br /&gt;
* No need in PC and external power supply for recording (high mobility)&lt;br /&gt;
* No USB cables on the floor&lt;br /&gt;
* Wider view angle (FOV) results in bigger capture volume&lt;br /&gt;
* Wider view angle allows to record in smaller rooms&lt;br /&gt;
* 90 and even 120 FPS (depends on the model of action camera and lighting conditions)&lt;br /&gt;
||&lt;br /&gt;
* Intrinsic parameters of each camera must be determined in advance ([[How to Calibrate Camera Optics|camera optics calibration]])&lt;br /&gt;
* A few manual and time consuming steps are required to get multi-camera synchronized video:&lt;br /&gt;
** for each camera: extract SD card, copy MP4 video files to PC, convert them to [[.iPiVideo File Extension|iPiVideo format]]&lt;br /&gt;
** manually [[How to Build Synced Multi-Camera Video|build multi-camera video]] and manually set synchronization frames for each camera&lt;br /&gt;
* Right now there is no simple way to use [[Motion Controllers]] with action cameras&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cables ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using of action cameras there is no need in these USB cables.}}&lt;br /&gt;
&lt;br /&gt;
For distances over 3m, you should use [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=active+USB+2.0+extension+cable&amp;amp;x=14&amp;amp;y=22 active USB 2.0 extension cables] (aka ''USB repeaters''). You can daisy-chain multiple active USB 2.0 extension cables for distances longer than 10m. &lt;br /&gt;
&lt;br /&gt;
[[File:Active_USB_cable.jpg|link=]] &lt;br /&gt;
&lt;br /&gt;
When combining active and [http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&amp;amp;field-keywords=USB+2.0+EXTENSION+CABLE+TYPE+A+MALE+to+TYPE+A+FEMALE&amp;amp;x=5&amp;amp;y=19 passive cables], make sure that connection order is correct (computer-&amp;gt;active cable-&amp;gt;passive cable-&amp;gt;camera).&lt;br /&gt;
&lt;br /&gt;
{{Tip|Microsoft Kinect v2 is an USB 3.0 device, thus it would require USB 3.0 extension cables. However, because each Kinect v2 requires a separate computer for operation, there is usually no need in extension cables, because computers can be placed appropriately.}}&lt;br /&gt;
&lt;br /&gt;
== Tripods ==&lt;br /&gt;
&lt;br /&gt;
Inexpensive 40- or 50-inch tripods like &lt;br /&gt;
[http://www.amazon.com/gp/product/B001T9N0L2/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B001T9N0L2]&lt;br /&gt;
should be fine for use with iPi Desktop Motion Capture. It is recommended to place at least one of the cameras reasonably high (2 or 3 meters high) so you may need a high (72 inch or higher) tripod like [http://www.amazon.com/gp/product/B003ASZXBK/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=B003ASZXBK] or some kind of ad hoc wall mounting solution.&lt;br /&gt;
&lt;br /&gt;
[[File:Tripod.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Mini Maglite (or other flashlight) for calibration ==&lt;br /&gt;
&lt;br /&gt;
You will need a small bright object for calibration. It is recommended to get [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite] for that purpose:&lt;br /&gt;
&lt;br /&gt;
[[File:Maglite.jpg|link=http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL]]&lt;br /&gt;
&lt;br /&gt;
If you cannot get a [http://www.amazon.com/gp/product/B00002N6SL/ref=as_li_tf_tl?ie=UTF8&amp;amp;tag=wwwipisoftcom-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399369&amp;amp;creativeASIN=B00002N6SL Mini Maglite], you can use some other similar flashlight: &lt;br /&gt;
&lt;br /&gt;
[[File:Noname_flashlight.jpg|250px|link=]]&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use [https://www.amazon.com/Playstation-3-Move-Motion-Controller/dp/B002I0J51U/ref=as_sl_pc_qf_sp_asin_til?tag=wwwipisoftcom-20&amp;amp;linkCode=w00&amp;amp;linkId=3LAZCYWUQQFLH2LX&amp;amp;creativeASIN=B002I0J51U Sony Move] motion controller with white light turned on. &lt;br /&gt;
&lt;br /&gt;
[[File:Psmove.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
== Video Card ==&lt;br /&gt;
&lt;br /&gt;
iPi Mocap Studio heavily relies on [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] for calculations. Therefore, it is recommended to use a fast GPU for processing recorded videos. The support for DirectX 11 is required (most of the video cards released since 2010 meet this requirement).&lt;br /&gt;
&lt;br /&gt;
Please be aware that desktop GPUs are dramatically faster than laptop GPUs (due to apparent thermal constraints in laptop PCs). [[Laptops with Switchable Graphics]] should be configured to run iPi Mocap Studio on a discrete (high-performance) GPU.&lt;br /&gt;
&lt;br /&gt;
You can check expected tracking speed for various GPU model [https://ipisoft.com/pr/GPU_speed_v_14_04.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can [https://www.ipisoft.com/store/gpu/ Compare and Order] recommended GPU from Amazon.&lt;br /&gt;
&lt;br /&gt;
{{Note|Professional GPUs like NVIDIA Quadro or AMD FirePro are not recommended due to high price and lack of performance advantage. You should understand that Quadro/FirePro video cards are designed for very specific professional OpenGL-based workloads. Their main advantage is high image quality in OpenGL rendering. iPi Motion Capture needs raw 32-bit floating point performance and does not benefit from image quality features of Quadro/FirePro video cards. For best performance, use top gaming-class video cards from NVIDIA or AMD.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Ensure that you are getting [[Maximizing_GPU_performance_in_iPi_Mocap_Studio|maximum of GPU's performance in iPi Mocap Studio]].}}&lt;br /&gt;
&lt;br /&gt;
== USB controllers ==&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using of action cameras there is no special requirements for USB controllers.}}&lt;br /&gt;
&lt;br /&gt;
All modern computers (e.g. dual-core and better) based on Intel, AMD and Nvidia chipsets have at least two USB 2.0 controllers on board. With two USB 2.0 controllers you've got enough bandwidth to record with:&lt;br /&gt;
# 2 depth sensors (first generation Microsoft Kinect)&lt;br /&gt;
# or 4 cameras at 640x480 at 60 FPS&lt;br /&gt;
# or 6 cameras at 640x480 at 40 FPS&lt;br /&gt;
&lt;br /&gt;
Some modern laptops have both USB 2.0 and 3.0 controllers. In this case single USB 3.0 controller can handle with four PS Eye cameras at 640x480 at 60 FPS.&lt;br /&gt;
&lt;br /&gt;
{{Important|Kinect 2 for Windows, Kinect for Xbox One requires USB 3.0 controller. Kinect SDK 2.0 supports only single sensor on one PC. [[Multiple_Kinects_v2_on_a_Single_PC|Libfreenect2]] supports multiple sensors on one PC.}}&lt;br /&gt;
&lt;br /&gt;
You can check how many USB 2.0 / 3.0 controllers you have in the “Universal Serial Bus controllers” section in Device Manager. Operating system will display USB 2.0 controllers as ''USB Enhanced Host Controller'' (not to be mistaken with USB 1.0 ''USB Universal Host controller''). USB 3.0 controller usually works in USB 2.0 mode, so it will be represented by 2 items - ''USB 3.0 Host Controller'' and ''USB Enhanced Host Controller''&lt;br /&gt;
&lt;br /&gt;
[[File:USB_controllers.png|link=]]&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use USBView utility from Microsoft which allows to view all USB controllers and devices in a more convenient way: [https://files.ipisoft.com/3dparty/usbview.zip Download USBView]&lt;br /&gt;
 &lt;br /&gt;
You should make sure that you have depth sensors or cameras evenly distributed between available USB 2.0 (or 3.0) controllers. For example, if you have four PS Eye cameras, you should connect two cameras to first controller and two cameras to second controller. (But some USB 3.0 controllers can work with four cameras.) Device Manager usually shows USB cameras as “USB Composite Device” at the “Advanced” tab of USB controller properties. If you have too many cameras connected to single USB 2.0 / 3.0 controller, you should re-plug them to different USB ports.&lt;br /&gt;
&lt;br /&gt;
=== USB hubs ===&lt;br /&gt;
&lt;br /&gt;
{{Note|In case of using of action cameras there is no need in these USB hubs.}}&lt;br /&gt;
&lt;br /&gt;
If several devices are connected on the USB hub and working in parallel, then the USB bandwidth is shared among the devices. Connecting all cameras via single USB 2.0 hub is OK only for low resolution video recording (320x240). To be able to record video at 640x480 and 60 frames per second, you should avoid connecting more than 2 cameras via single USB 2.0 controller and more than 4 cameras via some models of USB 3.0 controllers.&lt;br /&gt;
&lt;br /&gt;
=== Solution if your PC lack USB controllers ===&lt;br /&gt;
&lt;br /&gt;
If you do not have enough USB controllers, you can either add USB controller to your PC, or use several PCs and [[Distributed Recording]] feature.&lt;br /&gt;
&lt;br /&gt;
* For desktops you can use PCI USB controllers.&lt;br /&gt;
&lt;br /&gt;
* For laptops there are USB controllers for ExpressCard and eSATA slots.&lt;br /&gt;
&lt;br /&gt;
{{Important|Please refer to [[Cameras and Accessories#Potential issues with USB controllers|Potential issues with USB controllers]] and [[Cameras and Accessories#Known compatibility issues|Known compatibility issues]] sections below before buying a controller.}}&lt;br /&gt;
&lt;br /&gt;
=== Potential issues with USB controllers ===&lt;br /&gt;
&lt;br /&gt;
Some USB chips have compatibility issues with specific cameras which may result in not detecting cameras, low frame rate, etc. See [[#Known compatibility issues|the next section]] on known issues.&lt;br /&gt;
&lt;br /&gt;
Many modern laptops have one of the integrated USB 2.0 controllers reserved for docking station. That may effectively halve your USB bandwidth. So laptops with a large number of USB ports (4 or more) are preferrable. Desktop PCs should not have such problem.&lt;br /&gt;
&lt;br /&gt;
{{Important|Before buying a specific laptop model it is strongly recommended to ensure it has the sufficient number of available built-in USB controllers and they are compatibile with cameras you intend to use. Find it at your local retailer, and bring cameras with you to test. Though it may be easier if your friend/neighbour has such a laptop. Or ask at [https://forum.ipisoft.com our forum], maybe someone already used this model with our software or can recommend specific model for your camera configuration.}}&lt;br /&gt;
&lt;br /&gt;
If you plan getting an additional USB controller, please be aware of potential problems with USB 2.0 controllers available on the market. Many USB 2.0 controllers are based on defective NEC USB 2.0 chip, not capable of standard USB 2.0 speeds. That's a well-known bug specific only to NEC USB 2.0 chip. By contrast, all NEC USB 3.0 chips are good and do not have this problem.&lt;br /&gt;
&lt;br /&gt;
Some manufacturers sell what they call a &amp;quot;USB 2.0 ExpressCard&amp;quot; controller for laptops. Many of such ExpressCard controllers are in fact internal USB hubs in ExpressCard form factor. That means they do not add actual USB bandwidth to the system. All USB 3.0 ExpressCard are controllers.&lt;br /&gt;
&lt;br /&gt;
If you plan getting additional high-speed USB controller, we strongly recommend that you get a USB 3.0 controller, just to be on the safe side.&lt;br /&gt;
&lt;br /&gt;
When setting up a USB 3.0 controller, make sure you configure it to handle USB 2.0 traffic (as opposed to passing USB 2.0 to integrated USB 2.0 controllers in your chipset). There should be a corresponding setting in driver properties or in BIOS.&lt;br /&gt;
&lt;br /&gt;
=== Known compatibility issues ===&lt;br /&gt;
Combinations of camera &amp;amp; USB chip listed below have known compatibility issues. Unfortunately, there is no guarantee that other combinations will work for sure, but most will. If you need an additional USB controller for connecting specific camera, be sure not to get the one based on incompatible USB chip.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Camera'''&lt;br /&gt;
|'''USB chip'''&lt;br /&gt;
|'''Symptoms'''&lt;br /&gt;
|'''Comments / possible solution'''&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Camera is not properly recognized by the system.&lt;br /&gt;
|[http://reconstructme.net/2012/10/13/asus-xtion-usb-3-0-hotfix/ This firmware update] makes device behave the same as PrimeSense Carmine 1.08 with this controller.&lt;br /&gt;
|-&lt;br /&gt;
|ASUS Xtion (Live)&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops of color picture in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v1&lt;br /&gt;
|Intel 8x/9x chipset series (built-in, USB 3.0/2.0)&lt;br /&gt;
|Multiple Kinects do not work.&lt;br /&gt;
|[https://social.msdn.microsoft.com/Forums/en-US/b8ff7e7b-befe-426c-8eae-192a9aa3fa88/multiple-kinects-on-an-intel-usb-30-controller-are-failing?forum=kinectsdk Discussion of the issue]&amp;lt;br/&amp;gt;Additional USB controllers needed for multiple Kinects.&amp;lt;br/&amp;gt;One user reports that uninstalling Intel USB 3.0 driver resolves the issue.&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|Etron EJ168&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Kinect v2&lt;br /&gt;
|VIA VL800&lt;br /&gt;
|No data coming from device.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|NEC µPD720200 (USB 3.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Frame drops in '''640x480@30 (depth + color)'''.&lt;br /&gt;
|Stable work in '''640x480@30 (depth only)''' and '''320x240 (depth + color)'''.&lt;br /&gt;
|-&lt;br /&gt;
|PrimeSense Carmine 1.08&lt;br /&gt;
|VIA VL800(USB 3.0)&lt;br /&gt;
|Frame drops, reduced frame rate, freezes in '''depth + color''' modes.&lt;br /&gt;
|Stable work in '''depth only''' modes.&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VL800 (USB 3.0)&lt;br /&gt;
|Great number of bad frames and frame drops. Camera is invisible to iPi Recorder.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sony Playstation Eye&lt;br /&gt;
|VIA VT6212L (USB 2.0)&lt;br /&gt;
|Great number of frame drop in 640x480@60 mode.&lt;br /&gt;
|2 cameras can work smoothly at lower FPS (up to 640x480@50).&lt;br /&gt;
|-&lt;br /&gt;
|Sony PlayStation Eye&lt;br /&gt;
|NEC µPD720101 (USB 2.0)&lt;br /&gt;
|Great number of frame drops. Camera stops producing frames.&lt;br /&gt;
|Not recommended to use. Replace with other controllers.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Environment_and_Actor_Clothing</id>
		<title>Environment and Actor Clothing</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Environment_and_Actor_Clothing"/>
				<updated>2022-01-31T08:30:14Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Changed a recommendation for T-shirt over long-sleeve shirt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Environment ===&lt;br /&gt;
&lt;br /&gt;
==== Space ====&lt;br /&gt;
&lt;br /&gt;
For a multiple PlayStation Eye configuration, you need a minimum of 13 feet by 13 feet space (4 meters by 4 meters). At smaller space, actor simply won’t fit into view of cameras. &lt;br /&gt;
&lt;br /&gt;
For 640 by 480 camera resolution, capture area can be as big as 20 feet by 20 feet (7 meters by 7 meters). That should be enough for capturing motions like running, dancing etc.&lt;br /&gt;
&lt;br /&gt;
==== Background ====&lt;br /&gt;
&lt;br /&gt;
Light-color background (light walls and light floor) is recommended for markerless motion capture. &lt;br /&gt;
iPi Desktop Motion Capture is designed to work with real-life backgrounds. A multi-camera configuration (3 cameras and up) can handle certain amount of background clutter. Please keep in mind that the system can be confused if your background has large objects of the same color as actor clothes.&lt;br /&gt;
&lt;br /&gt;
[[File:Environment_and_clothing.jpg|center|link=]]&lt;br /&gt;
&lt;br /&gt;
Using a &amp;lt;span style=&amp;quot;color:white; background:green; padding:5px;&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt; or a &amp;lt;span style=&amp;quot;color:white; background:navy; padding:5px;&amp;quot;&amp;gt;blue&amp;lt;/span&amp;gt; [http://www.amazon.com/s/ref=nb_sb_ss_i_0_21?url=search-alias%3Daps&amp;amp;field-keywords=photography+backdrops&amp;amp;sprefix=photography+backdrops backdrop] may improve results, but you are not required to use a backdrop if you have reasonable office or home environment with light-color walls and bright lighting.&lt;br /&gt;
&lt;br /&gt;
==== Lighting ====&lt;br /&gt;
&lt;br /&gt;
For best results, your environment should have multiple light sources for uniform, ambient lighting. Typical office lighting with multiple light sources located on ceiling should be quite suitable for markeless motion capture. In a home environment, you may need to use additional light sources to achieve more uniform lighting. &lt;br /&gt;
&lt;br /&gt;
Please note that the system cannot work in direct sunlight. If you plan a motion capture session outdoors you should choose a cloudy, overcast day. &lt;br /&gt;
&lt;br /&gt;
=== Actor Clothing ===&lt;br /&gt;
&lt;br /&gt;
Actor should be dressed in solid-color long-sleeve shirt, solid-color trousers (or jeans) and solid-color shoes. Deep, saturated colors are preferable. Casual clothes like jeans should be OK for use with markerless mocap system. iPi Desktop Motion Capture uses clothing color for separating actor from background and therefore cannot work with totally arbitrary clothing. &lt;br /&gt;
&lt;br /&gt;
Recommended shirt (torso) colors are &amp;lt;span style=&amp;quot;color:white; background:black; padding:5px;&amp;quot;&amp;gt;black&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:white; background:navy; padding:5px;&amp;quot;&amp;gt;blue&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;color:white; background:green; padding:5px;&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;. Red is not recommended because red can blend with human skin color making it difficult for the system to see hands placed over torso. &amp;lt;span style=&amp;quot;color:white; background:black; padding:5px;&amp;quot;&amp;gt;Black&amp;lt;/span&amp;gt; color is useful for reducing self-shadows on torso. If you have bright uniform lighting you can get better results with a primary-color (&amp;lt;span style=&amp;quot;color:white; background:navy; padding:5px;&amp;quot;&amp;gt;blue&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;color:white; background:green; padding:5px;&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt;) shirt. &lt;br /&gt;
&lt;br /&gt;
Recommended jeans/trousers color is &amp;lt;span style=&amp;quot;color:white; background:navy; padding:5px;&amp;quot;&amp;gt;blue&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Recommended shoe color is &amp;lt;span style=&amp;quot;color:white; background:black; padding:5px;&amp;quot;&amp;gt;black&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
iPi Desktop Motion Capture has an option of using T-shirt over long-sleeve shirt for actor clothing. The tracking quality should benefit from such clothing because the arms are distinguished better from the torso.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-15T08:08:25Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* iPiExec Console Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need either to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well or simply to restart Recorder/Mocap Studio.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run a set of commands in automatic mode create a text file with a sequence of JSON objects for commands and pass it to '''iPiExec''' via redirecting a standard input. This allows to avoid babysitting '''iPiExec''' and having to enter each command manually.&lt;br /&gt;
&lt;br /&gt;
{{Note|A file with commands should have ANSI encoding or UTF-8 ''without signature'' to support national characters.}}&lt;br /&gt;
&lt;br /&gt;
Contents of a script &amp;lt;tt&amp;gt;commands.txt&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
  &amp;quot;arguments&amp;quot;: {&lt;br /&gt;
    &amp;quot;inputFilePath&amp;quot;: &amp;quot;V:\\kinect4a\\single-k4a-nfov.iPiVideo&amp;quot;,&lt;br /&gt;
    &amp;quot;outputFilePath&amp;quot;: &amp;quot;D:\\work\\k4a.avi&amp;quot;,&lt;br /&gt;
    &amp;quot;codec&amp;quot;: &amp;quot;x264&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute with a command &amp;lt;code&amp;gt;iPiExec recorder &amp;lt; commands.txt&amp;lt;/code&amp;gt;. After executing a script '''iPiExec''' disconnects automatically and then exits.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=inputFilePath|values=Valid file path.|desc=&lt;br /&gt;
Path to an input iPiVideo file. When omitted, a file currently open in the player is used. If no file is open an error is reported.}}&lt;br /&gt;
{{AutomationCommandParam|name=outputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input AVI file. It's required to end with the '''.avi''' extension.}}&lt;br /&gt;
{{AutomationCommandParam|name=layout|type=JSON object|desc=&lt;br /&gt;
Contains options to lay out images from source cameras onto exported frames.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;cameraOrder&amp;lt;/div&amp;gt;|type=array|values=Array of non-negative integers|desc=&lt;br /&gt;
Lists zero-based indices of cameras to export. By default all cameras are exported in the original order.&lt;br /&gt;
You can omit some cameras, but duplicates are not allowed.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;columns&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of columns in the layout grid. By default the value is selected automatically, taking into account '''rows'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;rows&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of rows in the layout grid. By default the value is selected automatically, taking into account '''columns'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=startFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the start frame for export (zero-based). Default value is ''0''.}}&lt;br /&gt;
{{AutomationCommandParam|name=endFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the end frame number for export (zero-based). Default value is ''&amp;lt;frame count&amp;gt; - 1''.}}&lt;br /&gt;
{{AutomationCommandParam|name=codec|desc=&lt;br /&gt;
A codec to be used for video compression. When omitted, keeps a previously used codec.&lt;br /&gt;
Generally used codecs include '''00000000''' (uncompressed), '''MJPG''' (Motion JPEG), '''X264''' (H.264 codec, [https://sourceforge.net/projects/x264vfw/ download link]).&lt;br /&gt;
If specified codec is not supported, the '''error''' field will contain the list of available codecs.}}&lt;br /&gt;
{{AutomationCommandParam|name=quality|type=number|values=An integer in the range [1..100]|desc=&lt;br /&gt;
The quality setting a codec should use. When omitted, keeps a previously used quality.&lt;br /&gt;
Greater values mean better quality and bigger files. Not all codecs respect this setting.}}&lt;br /&gt;
|events=&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''video-export-finished''' event is generated when the export operation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{AutomationCommandParam|name=success|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was completed successfully.}}&lt;br /&gt;
{{AutomationCommandParam|name=cancelled|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was cancelled by user.}}&lt;br /&gt;
{{AutomationCommandParam|name=error|type=string|desc=&lt;br /&gt;
Description of the error when export has failed.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Important|If an output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|This command doesn't open an input file for playback. If you want such effect then first execute '''open-player''' to open an input file. And then execute '''export-video''' without the '''inputFilePath''' argument.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: {&lt;br /&gt;
        &amp;quot;inputFilePath&amp;quot;: &amp;quot;D:\\videos\\two_kinects2_walk.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;D:\\videos\\export\\export00.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;layout&amp;quot;: {&lt;br /&gt;
            &amp;quot;cameraOrder&amp;quot;: [1, 0],&lt;br /&gt;
            &amp;quot;columns&amp;quot;: 1&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;startFrame&amp;quot;: 200,&lt;br /&gt;
        &amp;quot;codec&amp;quot;: &amp;quot;x264&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-09T09:50:36Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* export-video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=inputFilePath|values=Valid file path.|desc=&lt;br /&gt;
Path to an input iPiVideo file. When omitted, a file currently open in the player is used. If no file is open an error is reported.}}&lt;br /&gt;
{{AutomationCommandParam|name=outputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input AVI file. It's required to end with the '''.avi''' extension.}}&lt;br /&gt;
{{AutomationCommandParam|name=layout|type=JSON object|desc=&lt;br /&gt;
Contains options to lay out images from source cameras onto exported frames.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;cameraOrder&amp;lt;/div&amp;gt;|type=array|values=Array of non-negative integers|desc=&lt;br /&gt;
Lists zero-based indices of cameras to export. By default all cameras are exported in the original order.&lt;br /&gt;
You can omit some cameras, but duplicates are not allowed.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;columns&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of columns in the layout grid. By default the value is selected automatically, taking into account '''rows'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;rows&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of rows in the layout grid. By default the value is selected automatically, taking into account '''columns'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=startFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the start frame for export (zero-based). Default value is ''0''.}}&lt;br /&gt;
{{AutomationCommandParam|name=endFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the end frame number for export (zero-based). Default value is ''&amp;lt;frame count&amp;gt; - 1''.}}&lt;br /&gt;
{{AutomationCommandParam|name=codec|desc=&lt;br /&gt;
A codec to be used for video compression. When omitted, keeps a previously used codec.&lt;br /&gt;
Generally used codecs include '''00000000''' (uncompressed), '''MJPG''' (Motion JPEG), '''X264''' (H.264 codec, [https://sourceforge.net/projects/x264vfw/ download link]).&lt;br /&gt;
If specified codec is not supported, the '''error''' field will contain the list of available codecs.}}&lt;br /&gt;
{{AutomationCommandParam|name=quality|type=number|values=An integer in the range [1..100]|desc=&lt;br /&gt;
The quality setting a codec should use. When omitted, keeps a previously used quality.&lt;br /&gt;
Greater values mean better quality and bigger files. Not all codecs respect this setting.}}&lt;br /&gt;
|events=&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''video-export-finished''' event is generated when the export operation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{AutomationCommandParam|name=success|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was completed successfully.}}&lt;br /&gt;
{{AutomationCommandParam|name=cancelled|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was cancelled by user.}}&lt;br /&gt;
{{AutomationCommandParam|name=error|type=string|desc=&lt;br /&gt;
Description of the error when export has failed.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Important|If an output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|This command doesn't open an input file for playback. If you want such effect then first execute '''open-player''' to open an input file. And then execute '''export-video''' without the '''inputFilePath''' argument.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: {&lt;br /&gt;
        &amp;quot;inputFilePath&amp;quot;: &amp;quot;D:\\videos\\two_kinects2_walk.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;D:\\videos\\export\\export00.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;layout&amp;quot;: {&lt;br /&gt;
            &amp;quot;cameraOrder&amp;quot;: [1, 0],&lt;br /&gt;
            &amp;quot;columns&amp;quot;: 1&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;startFrame&amp;quot;: 200,&lt;br /&gt;
        &amp;quot;codec&amp;quot;: &amp;quot;x264&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-08T18:07:32Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* export-video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=inputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input iPiVideo file.}}&lt;br /&gt;
{{AutomationCommandParam|name=outputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input AVI file. It's required to end with the '''.avi''' extension.}}&lt;br /&gt;
{{AutomationCommandParam|name=layout|type=JSON object|desc=&lt;br /&gt;
Contains options to lay out images from source cameras onto exported frames.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;cameraOrder&amp;lt;/div&amp;gt;|type=array|values=Array of non-negative integers|desc=&lt;br /&gt;
Lists zero-based indices of cameras to export. By default all cameras are exported in the original order.&lt;br /&gt;
You can omit some cameras, but duplicates are not allowed.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;columns&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of columns in the layout grid. By default the value is selected automatically, taking into account '''rows'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;rows&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of rows in the layout grid. By default the value is selected automatically, taking into account '''columns'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=startFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the start frame for export (zero-based). Default value is ''0''.}}&lt;br /&gt;
{{AutomationCommandParam|name=endFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the end frame number for export (zero-based). Default value is ''&amp;lt;frame count&amp;gt; - 1''.}}&lt;br /&gt;
{{AutomationCommandParam|name=codec|desc=&lt;br /&gt;
A codec to be used for video compression. When omitted, keeps a previously used codec.&lt;br /&gt;
Generally used codecs include '''00000000''' (uncompressed), '''MJPG''' (Motion JPEG), '''X264''' (H.264 codec, [https://sourceforge.net/projects/x264vfw/ download link]).&lt;br /&gt;
If specified codec is not supported, the '''error''' field will contain the list of available codecs.}}&lt;br /&gt;
{{AutomationCommandParam|name=quality|type=number|values=An integer in the range [1..100]|desc=&lt;br /&gt;
The quality setting a codec should use. When omitted, keeps a previously used quality.&lt;br /&gt;
Greater values mean better quality and bigger files. Not all codecs respect this setting.}}&lt;br /&gt;
|events=&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''video-export-finished''' event is generated when the export operation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{AutomationCommandParam|name=success|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was completed successfully.}}&lt;br /&gt;
{{AutomationCommandParam|name=cancelled|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was cancelled by user.}}&lt;br /&gt;
{{AutomationCommandParam|name=error|type=string|desc=&lt;br /&gt;
Description of the error when export has failed.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Important|If an output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: {&lt;br /&gt;
        &amp;quot;inputFilePath&amp;quot;: &amp;quot;D:\\videos\\two_kinects2_walk.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;D:\\videos\\export\\export00.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;layout&amp;quot;: {&lt;br /&gt;
            &amp;quot;cameraOrder&amp;quot;: [1, 0],&lt;br /&gt;
            &amp;quot;columns&amp;quot;: 1&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;startFrame&amp;quot;: 200,&lt;br /&gt;
        &amp;quot;codec&amp;quot;: &amp;quot;x264&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-08T18:05:57Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* export-video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=inputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input iPiVideo file.}}&lt;br /&gt;
{{AutomationCommandParam|name=outputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input AVI file. It's required to end with the '''.avi''' extension.}}&lt;br /&gt;
{{AutomationCommandParam|name=layout|type=JSON object|desc=&lt;br /&gt;
Contains options to lay out images from source cameras onto exported frames.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;cameraOrder&amp;lt;/div&amp;gt;|type=array|values=Array of non-negative integers|desc=&lt;br /&gt;
Lists zero-based indices of cameras to export. By default all cameras are exported in the original order.&lt;br /&gt;
You can omit some cameras, but duplicates are not allowed.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;columns&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of columns in the layout grid. By default the value is selected automatically, taking into account '''rows'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;rows&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of rows in the layout grid. By default the value is selected automatically, taking into account '''columns'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=startFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the start frame for export (zero-based). Default value is ''0''.}}&lt;br /&gt;
{{AutomationCommandParam|name=endFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the end frame number for export (zero-based). Default value is ''&amp;lt;frame count&amp;gt; - 1''.}}&lt;br /&gt;
{{AutomationCommandParam|name=codec|desc=&lt;br /&gt;
A codec to be used for video compression. When omitted, keeps a previously used codec.&lt;br /&gt;
Generally used codecs include '''00000000''' (uncompressed), '''MJPG''' (Motion JPEG), '''X264''' (H.264 codec, [https://sourceforge.net/projects/x264vfw/ download link]).&lt;br /&gt;
If specified codec is not supported, the '''error''' field will contain the list of available codecs.}}&lt;br /&gt;
{{AutomationCommandParam|name=quality|type=number|values=An integer in the range [1..100]|desc=&lt;br /&gt;
The quality setting a codec should use. When omitted, keeps a previously used quality.&lt;br /&gt;
Greater values mean better quality and bigger files. Not all codecs respect this setting.}}&lt;br /&gt;
|events=&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''video-export-finished''' event is generated when the export operation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{AutomationCommandParam|name=success|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was completed successfully.}}&lt;br /&gt;
{{AutomationCommandParam|name=cancelled|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was cancelled by user.}}&lt;br /&gt;
{{AutomationCommandParam|name=error|type=string|desc=&lt;br /&gt;
Description of the error when export has failed.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Important|If an output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
  &amp;quot;arguments&amp;quot;: {&lt;br /&gt;
    &amp;quot;inputFilePath&amp;quot;: &amp;quot;D:\\videos\\two_kinects2_walk.iPiVideo&amp;quot;,&lt;br /&gt;
    &amp;quot;outputFilePath&amp;quot;: &amp;quot;D:\\videos\\export\\export00.avi&amp;quot;,&lt;br /&gt;
    &amp;quot;layout&amp;quot;: {&lt;br /&gt;
      &amp;quot;cameraOrder&amp;quot;: [1, 0],&lt;br /&gt;
      &amp;quot;columns&amp;quot;: 1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;startFrame&amp;quot;: 200,&lt;br /&gt;
    &amp;quot;codec&amp;quot;: &amp;quot;x264&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-08T18:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* export-video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=inputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input iPiVideo file. It's recommended to specify absolute paths.}}&lt;br /&gt;
{{AutomationCommandParam|name=outputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input AVI file. It's required to end with the '''.avi''' extension. It's recommended to specify absolute paths.}}&lt;br /&gt;
{{AutomationCommandParam|name=layout|type=JSON object|desc=&lt;br /&gt;
Contains options to lay out images from source cameras onto exported frames.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;cameraOrder&amp;lt;/div&amp;gt;|type=array|values=Array of non-negative integers|desc=&lt;br /&gt;
Lists zero-based indices of cameras to export. By default all cameras are exported in the original order.&lt;br /&gt;
You can omit some cameras, but duplicates are not allowed.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;columns&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of columns in the layout grid. By default the value is selected automatically, taking into account '''rows'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;rows&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of rows in the layout grid. By default the value is selected automatically, taking into account '''columns'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=startFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the start frame for export (zero-based). Default value is ''0''.}}&lt;br /&gt;
{{AutomationCommandParam|name=endFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the end frame number for export (zero-based). Default value is ''&amp;lt;frame count&amp;gt; - 1''.}}&lt;br /&gt;
{{AutomationCommandParam|name=codec|desc=&lt;br /&gt;
A codec to be used for video compression. When omitted, keeps a previously used codec.&lt;br /&gt;
Generally used codecs include '''00000000''' (uncompressed), '''MJPG''' (Motion JPEG), '''X264''' (H.264 codec, [https://sourceforge.net/projects/x264vfw/ download link]).&lt;br /&gt;
If specified codec is not supported, the '''error''' field will contain the list of available codecs.}}&lt;br /&gt;
{{AutomationCommandParam|name=quality|type=number|values=An integer in the range [1..100]|desc=&lt;br /&gt;
The quality setting a codec should use. When omitted, keeps a previously used quality.&lt;br /&gt;
Greater values mean better quality and bigger files. Not all codecs respect this setting.}}&lt;br /&gt;
|events=&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''video-export-finished''' event is generated when the export operation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{AutomationCommandParam|name=success|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was completed successfully.}}&lt;br /&gt;
{{AutomationCommandParam|name=cancelled|usage=mandatory|type=boolean|values=&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;|desc=&lt;br /&gt;
Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if export was cancelled by user.}}&lt;br /&gt;
{{AutomationCommandParam|name=error|type=string|desc=&lt;br /&gt;
Description of the error when export has failed.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationCommandParams</id>
		<title>Template:AutomationCommandParams</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationCommandParams"/>
				<updated>2021-09-08T17:54:48Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{{args|&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}}&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{{result|&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}}&lt;br /&gt;
{{{events}}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-08T17:15:22Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* export-video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=inputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input iPiVideo file. It's recommended to specify absolute paths.}}&lt;br /&gt;
{{AutomationCommandParam|name=outputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input AVI file. It's required to end with the '''.avi''' extension. It's recommended to specify absolute paths.}}&lt;br /&gt;
{{AutomationCommandParam|name=layout|type=JSON object|desc=&lt;br /&gt;
Contains options to lay out images from source cameras onto exported frames.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;cameraOrder&amp;lt;/div&amp;gt;|type=array|values=Array of non-negative integers|desc=&lt;br /&gt;
Lists zero-based indices of cameras to export. By default all cameras are exported in the original order.&lt;br /&gt;
You can omit some cameras, but duplicates are not allowed.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;columns&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of columns in the layout grid. By default the value is selected automatically, taking into account '''rows'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=&amp;lt;div style=&amp;quot;padding-left: 40px&amp;quot;&amp;gt;rows&amp;lt;/div&amp;gt;|type=number|values=A positive integer|desc=&lt;br /&gt;
A number of rows in the layout grid. By default the value is selected automatically, taking into account '''columns'''.}}&lt;br /&gt;
{{AutomationCommandParam|name=startFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the start frame for export (zero-based). Default value is ''0''.}}&lt;br /&gt;
{{AutomationCommandParam|name=endFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the end frame number for export (zero-based). Default value is ''&amp;lt;frame count&amp;gt; - 1''.}}&lt;br /&gt;
{{AutomationCommandParam|name=codec|desc=&lt;br /&gt;
A codec to be used for video compression. When omitted, keeps a previously used codec.&lt;br /&gt;
Generally used codecs include '''00000000''' (uncompressed), '''MJPG''' (Motion JPEG), '''X264''' (H.264 codec, [https://sourceforge.net/projects/x264vfw/ download link]).&lt;br /&gt;
If specified codec is not supported, the '''error''' field will contain the list of available codecs.}}&lt;br /&gt;
{{AutomationCommandParam|name=quality|type=number|values=An integer in the range [1..100]|desc=&lt;br /&gt;
The quality setting a codec should use. When omitted, keeps a previously used quality.&lt;br /&gt;
Greater values mean better quality and bigger files. Not all codecs respect this setting.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-08T17:02:15Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* export-video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=inputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input iPiVideo file. It's recommended to specify absolute paths.}}&lt;br /&gt;
{{AutomationCommandParam|name=outputFilePath|usage=mandatory|values=Valid file path.|desc=&lt;br /&gt;
Path to an input AVI file. It's required to end with the '''.avi''' extension. It's recommended to specify absolute paths.}}&lt;br /&gt;
{{AutomationCommandParam|name=startFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the start frame for export (zero-based). Default value is ''0''.}}&lt;br /&gt;
{{AutomationCommandParam|name=endFrame|type=number|values=A non-negative integer|desc=&lt;br /&gt;
Specifies the end frame number for export (zero-based). Default value is ''&amp;lt;frame count&amp;gt; - 1''.}}&lt;br /&gt;
{{AutomationCommandParam|name=codec|desc=&lt;br /&gt;
A codec to be used for video compression. When omitted, keeps a previously used codec.&lt;br /&gt;
Generally used codecs include '''00000000''' (uncompressed), '''MJPG''' (Motion JPEG), '''X264''' (H.264 codec, [https://sourceforge.net/projects/x264vfw/ download link]).&lt;br /&gt;
If specified codec is not supported, the '''error''' field will contain the list of available codecs.}}&lt;br /&gt;
{{AutomationCommandParam|name=quality|type=number|values=An integer in the range [1..100]|desc=&lt;br /&gt;
The quality setting a codec should use. When omitted, keeps a previously used quality.&lt;br /&gt;
Greater values mean better quality and bigger files. Not all codecs respect this setting.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2021-09-08T16:39:28Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* Player Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [https://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([https://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;videoOrientation&amp;quot;: &amp;quot;Landscape&amp;quot;,&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOrientation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Landscape&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Portrait&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting video orientation: &amp;lt;tt&amp;gt;Landscape&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;Portrait&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editor commands ===&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
This command exports color frames from the '''iPiVideo''' format to an AVI.&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Mocap_Studio_Release_Notes</id>
		<title>iPi Mocap Studio Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Mocap_Studio_Release_Notes"/>
				<updated>2021-02-26T14:17:59Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Switched download links to HTTPS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color:#333333; border:dashed 1px gray; padding:4pt; margin:0.5em; background-color:#FAFAFA&amp;quot;&amp;gt;&lt;br /&gt;
''Here you can find history of recent versions of [[iPi Mocap Studio]].''&lt;br /&gt;
&lt;br /&gt;
''[[iPi Mocap Studio]] has built-in auto update functionality. Auto update feature is configured so that checks for update are made once per day. It helps to reduce the start time of the application. If you want to update ASAP &amp;amp;mdash; you can use the '''Help &amp;gt; Check for Update''' menu item.''&lt;br /&gt;
&lt;br /&gt;
''Note that both of these features require Internet connection. Alternatively (in case of troubles with auto update), you can download and run the updated installation program from [https://files.ipisoft.com/iPiMocapStudioSetup.exe direct link].''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.1.243|Feb 24, 2021|https://files.ipisoft.com/iPiMocapStudioSetup-4.4.1.243.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Better support for Intel RealSense [https://www.intelrealsense.com/lidar-camera-l515/ L515] and [https://www.intelrealsense.com/depth-camera-d455/ D455] sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed importing of target character from SMD file when bone names contain spaces.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.0.242|Feb 9, 2021|https://files.ipisoft.com/iPiMocapStudioSetup-4.4.0.242.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Animation Streaming''' from [[iPi Mocap Studio]] to Unreal Engine. For details see [[Streaming to Unreal]].&lt;br /&gt;
[[File:export-tab-streaming.png|300px]]&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.1.240|Feb 28, 2020|https://files.ipisoft.com/iPiMocapStudioSetup-4.3.1.240.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added [[iPi Automation Add-on#Live (Real-Time) Session Commands|automation commands]] to control [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
* Added [[iPi Automation Add-on#start-streaming-animation|automation commands]] to control [[Streaming to Unity|streaming of animation]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash during long live sessions.&lt;br /&gt;
* Fixed app crash when iPiVideo contains corrupted MJPEG frames.&lt;br /&gt;
* Fixed improper work of [[iPi Automation Add-on#load-target-character|load-target-character]] automation command with '''filePath''' argument.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.0.239|Oct 9, 2019|https://files.ipisoft.com/iPiMocapStudioSetup-4.3.0.239.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Animation Streaming''' from [[iPi Mocap Studio]] to Unity. For details see [[Streaming to Unity]].&lt;br /&gt;
[[File:export-tab-streaming.png|300px]]&lt;br /&gt;
* Foot tracking improved for depth sensors.&lt;br /&gt;
* Distance between two arbitrary cameras can be controlled in Calibration projects for multiple RGB cameras (see table under '''Scale''' slider on '''Calibration''' tab).&lt;br /&gt;
* Improvements in [[Real-time Tracking for Live Preview]]:&lt;br /&gt;
** Significant progress in accuracy and stability.&lt;br /&gt;
** High/Low resolution setting.&lt;br /&gt;
** On the fly trajectory filtering (smoothing) during Live Preview.&lt;br /&gt;
** Restoring Live settings from the last session.&lt;br /&gt;
** Better visibility of point cloud during Live Preview.&lt;br /&gt;
** [[Streaming to Unity]] is available for Live Preview. Thus, one can see real-time live feedback right inside Unity.&lt;br /&gt;
:: {{Important|[[iPi Recorder]] 4.4.4 or later is required.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.0.235|Aug 23, 2019|https://files.ipisoft.com/iPiMocapStudioSetup-4.2.0.235.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for videos recorded with '''Azure Kinect''' depth sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved rendering smoothness during live tracking.&lt;br /&gt;
* Minor improvement in the quality of board calibration.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.3.233|May 16, 2019|https://files.ipisoft.com/iPiMocapStudioSetup-4.1.3.233.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Built-in support for Unreal Engine 4 - compatible characters:&lt;br /&gt;
*# You can either import your character from FBX file in [[iPi Mocap Studio]]. If your character skeleton follows Unreal Mannequin structure and naming conventions, motion-transfer profile will be automatically generated. After that you just export animation in FBX format in [[iPi Mocap Studio]] and import it in Unreal Engine.&lt;br /&gt;
*#* {{Tip|This way is recommended because it works for all human-like characters regardless their proportions.}}&lt;br /&gt;
*# Or you can just choose '''UE4 Mannequin''' item from top part of '''Target character''' drop-down menu on '''Export''' tab in [[iPi Mocap Studio]], then you can export animation in FBX format and import result in Unreal Engine.&lt;br /&gt;
*#* {{Note|This way is usable only for characters with default Unreal Engine proportions.}}&lt;br /&gt;
* Selection from compatible motion transfer profiles when importing target character.&lt;br /&gt;
* New features in '''Motion Transfer Profile''':&lt;br /&gt;
** button to auto determine orientation of target character&lt;br /&gt;
** button to clear motion transfer profile&lt;br /&gt;
** slight redesign of controls layout&lt;br /&gt;
** improved tips&lt;br /&gt;
&lt;br /&gt;
[[File:studio-transfer-profile-new-features-4-1-3.png|280px]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Accuracy issue in [https://en.wikipedia.org/wiki/Euler_angles Euler Angles] math (near [https://en.wikipedia.org/wiki/Gimbal_lock Gimbal Lock]). Results in minor short-term jitter of exported animation in some rare cases.&lt;br /&gt;
* Incorrect animation export for FBX models which have non-zero pre/post translation transformations for model node(s).&lt;br /&gt;
* Losing info about gyro sensors when opening project without a video.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Checking that primary GPU is not software emulation and is not '''Microsoft Basic Render Driver'''.&lt;br /&gt;
* Suppress adding to MRU list of target characters if animation was opened using '''Open Animation''' menu item.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.1.231|Dec 27, 2018|https://files.ipisoft.com/iPiMocapStudioSetup-4.1.1.231.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Introduced ''Distribute rotation between Head and Neck'' setting for [[Motion_Controllers#Head_Rotation|Motion Controllers]].&lt;br /&gt;
* Support for Biomech export operations in [[Batch Processing]].&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.0.230|Dec 03, 2018|https://files.ipisoft.com/iPiMocapStudioSetup-4.1.0.230.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple depth sensors in [[Real-time Tracking for Live Preview]]. Can be used in combination with [[Distributed Recording]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Twist angle over 180 degrees for hands, feet and head under certain condition.&lt;br /&gt;
* Minor bug fixes in [[Real-time Tracking for Live Preview]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Based on users feedback, we turned off rotation distribution between head and neck joints when data from motion controller is applied to head. (This distribution was introduced in version 4.0.0.223.)&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.3.226|Sep 06, 2018|https://files.ipisoft.com/iPiMocapStudioSetup-4.0.3.226.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Using head and hand orientations set from motion controllers during ''Refine'' that allows to improve tracking in some cases.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Crash in tracking after deletion of all animation within ROI.&lt;br /&gt;
* Occasional tracking failures if tracking is applied to new project without saving it.&lt;br /&gt;
* Occasional incorrect hands orientations after tracking or jitter removal if motion controllers data were applied.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better tracking of complex legs or arms poses in some cases.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.2.225|Aug 17, 2018|https://files.ipisoft.com/iPiMocapStudioSetup-4.0.2.225.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Removing parasite limbs twists that may appear after ''Jitter Removal'' application.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Removed ''Trajectory Filter'' slider from ''Live'' tab as this setting is not used during live tracking.&lt;br /&gt;
* Disable ''Auto adjust camera FOV'' option for calibration projects recorded with action cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Slightly increased accuracy of removing parasite limbs twists when limbs are nearly straight.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.1.224|Jul 26, 2018|https://files.ipisoft.com/iPiMocapStudioSetup-4.0.1.224.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed hand joint rotation tool issues.&lt;br /&gt;
* Removed ''Jitter Removal'' dependence from ''Individual Body Parts Tracking'' options.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved limbs tracking that removes parasite limbs twists when limbs are nearly straight.&lt;br /&gt;
* Increased accuracy of tracking algorithm in some cases due to use of improved joint limits.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.0.223|Jul 03, 2018|https://files.ipisoft.com/iPiMocapStudioSetup-4.0.0.223.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Real-time Tracking for Live Preview]] added.&lt;br /&gt;
:{{Note|Supported in '''Basic''' and '''Pro''' editions.}}&lt;br /&gt;
* [[User_Guide_for_Multiple_PS_Eye_Cameras_Configuration#Individual_body_parts_tracking|Individual body parts tracking]] for post-processing.&lt;br /&gt;
* Improved tracking with the use of motion controllers.&lt;br /&gt;
** Joint limits are taken into account when applying motion controllers data to avoid physically impossible joint orientations.&lt;br /&gt;
** Rotations are distributed between head and neck joints when tracking head.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved background calculation for noisy depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.6.222|Mar 06, 2018|https://files.ipisoft.com/iPiMocapStudioSetup-3.6.6.222.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New '''calibration algorithm''' for depth sensors / light marker method.&lt;br /&gt;
** Higher speed.&lt;br /&gt;
** Slightly better accuracy.&lt;br /&gt;
* New/enhanced automation commands:&lt;br /&gt;
** '''get-actor-props'''; '''get-pose-mismatch'''; additional parameters for '''set-actor-props'''.&lt;br /&gt;
** '''recenter-coordinates-on-character'''; '''move-coordinate-system'''.&lt;br /&gt;
** '''export-video'''; ''videoFilePath'' parameter in '''open-project''' command.&lt;br /&gt;
* Added option to take .iPiVideo from project directory if .iPiVideo is not found.&lt;br /&gt;
* Allow fractional values for target FPS in Export Options dialog.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect Biomech export for multiple actors; first actor exported correctly, other actors used bone lengths of first actor.&lt;br /&gt;
* Uneven shoulder height was set for some imported characters.&lt;br /&gt;
* Taking into account target character transform when exporting cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Auto adjust camera FOV is checked by default for calibration project (in case when all RGB cameras have the same model).&lt;br /&gt;
* FBX import: improved search for a root node.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.4.220|Jun 17, 2017|https://files.ipisoft.com/iPiMocapStudioSetup-3.6.4.220.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Export Options''' dialog is now shown for any file format after a destination file is selected. '''Recenter coordinates on character''' and '''Export T-pose in the first frame''' options moved to this dialog (they affect exported animation only). '''Advanced motion transfer''' option is left on the '''Export''' tab (it affects both preview in program and exported animation), but moved up, just below '''Show target character''' option.&lt;br /&gt;
* Option for setting the frame rate of an exported animation is added to the '''Export Options''' dialog.&lt;br /&gt;
* Export of cameras is available for COLLADA format.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect vertical positioning of built-in rigs for Motion Builder and 3ds Max.&lt;br /&gt;
* Incorrect positioning of skeleton when exporting with default rig in some situations.&lt;br /&gt;
* Values for selected bone were not displayed on the '''Pose''' tab (introduced in 3.6.0).&lt;br /&gt;
* App crash on project opening under certain circumstances.&lt;br /&gt;
* Motion transfer profile was not saved automatically after changing target character’s orientation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.3.219|May 29, 2017|https://files.ipisoft.com/iPiMocapStudioSetup-3.6.3.219.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Applying data from motion controllers fails after saving a project.&lt;br /&gt;
* A number of bugs with '''Move Coordinate System''' tool:&lt;br /&gt;
** App crash&lt;br /&gt;
** Frames with default pose were transformed&lt;br /&gt;
** Visual glitches&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.2.218|May 26, 2017|https://files.ipisoft.com/iPiMocapStudioSetup-3.6.2.218.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Exported animation always has default 30 FPS (introduced in v3.6.0.216).&lt;br /&gt;
* Changes in actor appearance are not applied to the target character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.1.217|May 25, 2017|https://files.ipisoft.com/iPiMocapStudioSetup-3.6.1.217.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Crash of license activation during application start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.0.216|May 25, 2017|https://files.ipisoft.com/iPiMocapStudioSetup-3.6.0.216.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New calibration algorithm for the light marker method.&lt;br /&gt;
** Vastly greater speed&lt;br /&gt;
** Slightly better accuracy&lt;br /&gt;
{{Tip|In case of problems with the new algorithm, you can revert to using the old algorithm. Check '''Use old calibration algorithm''' in '''Manual Calibration Adjustments &amp;gt; Advanced Calibration Settings''' section on the '''Calibration''' tab.}}&lt;br /&gt;
* Including cameras into exported animations in FBX format (optional).&lt;br /&gt;
* Vastly increased the speed of applying data from motion controllers.&lt;br /&gt;
* Automation add-on:&lt;br /&gt;
** Added '''useFastTrackingAlgorithm''' field to the arguments of '''set-tracking-props''' command and to the result of '''get-tracking-props''' command.&lt;br /&gt;
** Added '''markerColor''' field to the arguments of '''run-calibration''' command.&lt;br /&gt;
** Changed default value of '''autoDetectInitialCameraPositions''' field in '''create-project''' command to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Biomech add-on: Unchecking '''Export RGB''' checkbox when there is no color data.&lt;br /&gt;
* Fixed app crash after opening project under certain conditions.&lt;br /&gt;
* Fixed displaying of warnings on the '''Calibration''' tab at improper moments.&lt;br /&gt;
* Task dialogs after animation/video export were modeless.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.5.1.215|Apr 23, 2017|https://files.ipisoft.com/iPiMocapStudioSetup-3.5.1.215.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Wrong scale in exported DMX animation (see [https://forum.ipisoft.com/viewtopic.php?f=5&amp;amp;t=9756 forum message]).&lt;br /&gt;
* Program crashed on importing character having same-named bones.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.5.0.214|Apr 19, 2017|https://files.ipisoft.com/iPiMocapStudioSetup-3.5.0.214.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New fast tracking algorithm for depth sensors (BETA version). To use it, turn on ''Use fast tracking algorithm (BETA)'' checkbox on ''Tracking'' tab.&lt;br /&gt;
** Tracking speed increase is up to 2.5 times depending on particular hardware and tracking options.&lt;br /&gt;
** Available for single-actor projects, and single-GPU configurations.&lt;br /&gt;
{{Tip|If you use 2 GPUs for tracking, you need to turn it off by unchecking second GPU via ''Help &amp;gt; Manage GPU Usage'' menu.}}&lt;br /&gt;
&lt;br /&gt;
* Improvements in animation export.&lt;br /&gt;
** New control on ''Export'' tab to rotate imported characters into proper orientation. This is useful for many popular characters, including standard Unreal Engine character.&lt;br /&gt;
** The motion is now correctly transferred to imported characters with separate ''Root'' bone and ''Hips/Pelvis'' bone. You can map hips motion either to ''Root'' or to ''Hips/Pelvis''. This is useful for game engine characters, including standard Unity 3D Engine and Unreal Engine characters.&lt;br /&gt;
** Support for FBX format 7.5 (2016)&lt;br /&gt;
{{Note|Built-in rig for ''Blender'' has been removed, because there is no need in change of axes orientation for modern versions of Blender.}}&lt;br /&gt;
&lt;br /&gt;
* Allow to select flashlight color for marker detection during calibration (useful in case of light background).&lt;br /&gt;
* Added finger bones to motion transfer profile for Valve characters in SMD and DMX formats.&lt;br /&gt;
* Added hints about GPUs to progress bar area during tracking.&lt;br /&gt;
* Showing dialog with common actions available for the exported file after animation export and video export operations.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Program crashed in case of window resizing during video export.&lt;br /&gt;
* Program crashed on certain errors when opening target character and animations. Now errors are reported.&lt;br /&gt;
* Automation Add-on could hang in rare cases during events sending.&lt;br /&gt;
* Fixed GPU memory leaks on project open / close operations and during calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved automatic floor detection both for RGB cameras and depth sensors&lt;br /&gt;
* Replaced viewport repaint on every frame during tracking / refine / jitter removal to repaint by timer. May lead to slight speed increase on powerful GPUs.&lt;br /&gt;
* Improved tracking / refine / jitter removal speed calcualtion and changed formatting for speed values.&lt;br /&gt;
* Using FBX SDK 2017.1 for handling FBX files.&lt;br /&gt;
* Fixed speed degradation issue during calibration using board for depth projects.&lt;br /&gt;
* For multiple GPU configuration the old tracking algorithm is set to be used in case number of cameras is over 6. In most cases this is faster than using default tracking on single GPU. &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.16.212|Nov 29, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.4.16.212.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Import of target character crashed.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.15.211|Nov 29, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.4.15.211.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking worked incorrectly on Intel integrated graphics and some other weak video cards.&lt;br /&gt;
* Jitter removal / tracking hanged in rare cases.&lt;br /&gt;
* Incorrect pose visualized during tracking in the first frame of ''Region-of-Interest''.&lt;br /&gt;
* Tracking crashed with exception ''Wait for frame ... failed'' in rare cases.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Fixed GPU memory leaks.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.12.208|Oct 13, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.4.12.208.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Increased speed of tracking operations. &lt;br /&gt;
** Maximum speed increase (up to 3-4 times) is achieved at high-performance video cards for projects recorded with 1 or 2 Kinect sensors. &lt;br /&gt;
** For 4 or more Sony PS3 Eye cameras speed gain is lower and can reach 10 – 50% depending on particular tracking options and hardware configuration.&lt;br /&gt;
** For slow video cards speed increase is substantially lower. &lt;br /&gt;
** For projects recorded with many cameras tracking speed can even be lower compared to previous version on particular hardware configurations. You have the option to use the old tracking algorithm then (you can select this option in Advanced Tracking Settings section of the Tracking tab)&lt;br /&gt;
** For multiple GPU configuration the new algorithm will be used if number of cameras / sensors is not more than 4 (in this case only the primary GPU is used). In most cases this will still be faster than using multiple GPUs with the old tracking algorithm. For more than 4 cameras the old algorithm on multiple GPUs will be used, as a faster option. &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.10.206|Sep 23, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.3.10.206.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Jitter removal crashed on projects recorded with Kinect v1 containing RGB video information.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Further improvement of responsiveness of user interface during jitter removal on computers with slow video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.9.205|Sep 15, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.3.9.205.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Further increase of jitter removal speed. Improved algorithm is 10-20% faster compared to the previous release. Speed increase depends on particular hardware (GPU and CPU).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Biomech Add-on free trial activation did not work.&lt;br /&gt;
* Periodic Auto-Save did not work in jitter removal. Now the project is saved every 30 seconds.&lt;br /&gt;
* Memory leaks in jitter removal.&lt;br /&gt;
* Crashed if timeline slider is clicked during jitter removal or tracking operation.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved responsiveness of user interface during jitter removal on computers with slow video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.8.204|Sep 01, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.3.8.204.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Increased speed of jitter removal. New algorithm is 3-7 times faster compared to the previous one. Speed increase depends on particular hardware (GPU and CPU).&lt;br /&gt;
* Trajectory filter is improved for noisy data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking operations of multiple depth sensors projects failed with exception on some models of ''Nvidia'' cards using drivers 372.54, 372.70.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.7.203|Jul 14, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.3.7.203.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''iPi Automation Add-on''' released.&amp;lt;br&amp;gt;This tool allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending JSON commands via Windows dll. It can be used for:&lt;br /&gt;
** Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution;&lt;br /&gt;
** Automation of repeatable tasks;&lt;br /&gt;
** Automation of custom workflow.&lt;br /&gt;
{{Note|Add-on is not a free update and requires separate license key. 30-days free trial is [[iPi_Automation_Add-on#License_and_Trial|available]]. For more information please read [[iPi Automation Add-on]] documentation.}}&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.7.201|May 03, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.7.201.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Jitter Removal failed on some models of video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.6.200|Apr 25, 2016|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.6.200.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:.&lt;br /&gt;
* Increased tracking quality for actors with adjusted proportions.&lt;br /&gt;
* Allow opening of a processed [[.iPiMotion File Extension|'''.iPiMotion''']] file without video, for 3D data viewing.&lt;br /&gt;
* ''Hide Background'' option button / menu item for RGB video.&lt;br /&gt;
* Improved UI for light settings:&lt;br /&gt;
** Store light settings to scene file;&lt;br /&gt;
** Automatic loading of light settings from previous project when creating new project;&lt;br /&gt;
** ''Place Light to the Current Virtual Camera Position'' button added to Scene tab.&lt;br /&gt;
* No Auto-Play after project open.&lt;br /&gt;
* Calibration: UI enhancements for manual marking of ground points.&lt;br /&gt;
* Calibration: edit box for typing in camera height added.&lt;br /&gt;
* Control for manual alignment of coordinate system on the ''Scene'' tab.&lt;br /&gt;
* Biomech export: added lengths of body segments, eye positions.&lt;br /&gt;
* Support of Intel [http://www.intel.com/content/www/us/en/architecture-and-technology/realsense-longrange.html RealSense R200] sensor.&lt;br /&gt;
** Please be aware that R200 depth quality is lower compared to Kinect sensors so far, so tracking accuracy may deteriorate.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Calibration: additional ground detection quality check.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.5.193|Nov 19, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.5.193.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Using_Tracking_Data_from_Depth_Sensors|Improved workflow]] with the use of '''Kinect 2''' tracking data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Update target character pose after '''Refit Pose'''.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Do not auto play on project opening or after importing a target character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.4.191|Aug 24, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.4.191.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improvements in pose editing tools:&lt;br /&gt;
** Highlighting selectable objects (e.g. bones) on mouse hover;&lt;br /&gt;
** Rendering tool controls in front of all objects for ease of use;&lt;br /&gt;
** Displaying highlighted bone’s name in the bottom-right (previously, only selected bone’s name was displayed).&lt;br /&gt;
* Improvements in editing of motion profiles:&lt;br /&gt;
** Ability to select target bones directly from target character’s skeleton in the scene;&lt;br /&gt;
** Highlighting target character’s bones when scrolling through combo boxes in '''Target Bone''' column;&lt;br /&gt;
** Automatic assignment of symmetric bones (left/right).&lt;br /&gt;
* Minor improvements in rendering of the scene.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Compatibility of secondary GPUs is determined incorrectly.&lt;br /&gt;
* Application crashes when the Pose Mismatch view is activated on multiple GPUs.&lt;br /&gt;
* Initial length of ROI and Take 1 is defined improperly in projects created from records with non-standard frame rate (recorded after warning about low frame rate).&lt;br /&gt;
* Pose of target character is not updated when actor’s pose is manually edited while staying on the same frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.3.190|Aug 08, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.3.190.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Visual bone picker. Located in drop-down of the Select button in the top toolbar and on the Pose tab.&lt;br /&gt;
&lt;br /&gt;
[[File:release-notes-3.2.3.190-visual-bone-picker.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Performance degradation when using multiple GPUs in certain configurations.&lt;br /&gt;
* Sound controls are missing in the bottom toolbar for projects with audio data.&lt;br /&gt;
* Calibration freezes under rare conditions.&lt;br /&gt;
* Application crash during calibration when applying to an action video by mistake in certain situations.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved background subtraction for records made with Kinect 2 sensors to keep more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.2.189|Jun 17, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.2.189.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved color picture quality for PlayStation Eye cameras and Kinect v1 depth sensors.&lt;br /&gt;
* Dropped support for DirectX 10 video cards.&lt;br /&gt;
*: Previously many core operations like tracking were already unavailable for such cards. Now program will not run at all.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect marker detection during calibration on some records. Only AMD and Intel GPUs were affected.&lt;br /&gt;
* Incorrect character rendering on Intel HD4xxx series and above.&lt;br /&gt;
*: This issue may still occur on prolonged running of application. In this case restarting the application helps.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Some optimizations in usage of graphic resources.&lt;br /&gt;
* Correct installation of older version over newer one.&lt;br /&gt;
*: Previously uninstallation was required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.1.187|May 02, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.1.187.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Substantial speed-up of marker detection during the calibration. (Up to 3 times depending on hardware and settings).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* UI freezing when in the '''Pose Mismatch''' mode under certain conditions.&lt;br /&gt;
* Incorrect rendering of video frame on some video cards.&lt;br /&gt;
* Import of a target character with the same skeleton structure as the model in Mocap Studio results in error.&lt;br /&gt;
* Incorrect values displayed for occlusions percent in the calibration statistics.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.0.182|Apr 20, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.2.0.182.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added settings for adjusting proportions of the actor's model:&lt;br /&gt;
** legs length;&lt;br /&gt;
** arms length;&lt;br /&gt;
** shoulders width;&lt;br /&gt;
** head size;&lt;br /&gt;
** feet size.&lt;br /&gt;
* Layout of the '''Actor''' tab has been changed slightly.&lt;br /&gt;
* Settings for adjusting the size of a light marker in calibration projects.&lt;br /&gt;
* Improved automatic evaluation of calibration quality for multiple depth sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved processing of program crashes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.2.177|Mar 19, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.1.2.177.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Biomech Add-on''': added [[iPi_Biomech_Add-on#Export_Point_Cloud|point cloud export]] formats convenient for animators, including [https://www.thinkboxsoftware.com/krak-prt-11-file-format/ Krakatoa PRT], [https://en.wikipedia.org/wiki/PLY_(file_format) PLY], [https://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ], Leika PTS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.1.175|Feb 24, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.1.1.175.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New menu items '''View &amp;gt; Cameras''' and '''View &amp;gt; Source of Light''' allow to remove camera and source of light objects from 3D scene if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* FBX import and export do not support national (non-ASCII) characters in file path.&lt;br /&gt;
* Projects with three actors are always created in [[.iPiLocked File Extension|.iPiLocked format]] even in [https://www.ipisoft.com/software/pro-edition Pro edition].  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.0.173|Feb 20, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.1.0.173.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [https://www.ipisoft.com/software/basic-edition Basic] and [https://www.ipisoft.com/software/trial-edition Free Trial] editions now support up to '''six (6)''' color cameras like Sony PS3 Eye. In previous versions this limit was four (4).&lt;br /&gt;
* [https://www.ipisoft.com/software/pro-edition Pro] edition now supports up to '''sixteen (16)''' color cameras like Sony PS3 Eye. In previous versions this limit was eight (8).&lt;br /&gt;
* [https://www.ipisoft.com/software/pro-edition Pro] edition now supports up to '''four (4)''' depth sensors. In previous versions this limit was three (3).&lt;br /&gt;
* [https://www.ipisoft.com/software/pro-edition Pro] edition now supports up to '''three (3)''' actors tracking. In previous versions this limit was two (2).&lt;br /&gt;
*: {{Note|For three actors tracking it is highly recommended to use at least nine (9) color cameras like Sony PS3 Eye.}}&lt;br /&gt;
* '''Extended''' and '''Extreme''' calibration modes for complex cases.&lt;br /&gt;
* Bunch of minor improvements.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* In rare cases calibration results in upside down configuration.&lt;br /&gt;
* In rare cases '''Pause''' button is not clickable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.3.172|Jan 07, 2015|https://files.ipisoft.com/iPiMocapStudioSetup-3.0.3.172.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved progress indication for some operations - for example, video export and data export in Biomech addon. Removed progress indication in the scene (the spinning &amp;quot;wheel&amp;quot;).&lt;br /&gt;
* Scaling the actor's model relative to the floor when adjusting its height.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* App crash during the calibration of dual Kinect 2 configuration using a board.&lt;br /&gt;
* App crash during the export of point cloud from Kinect 2.&lt;br /&gt;
* App crash when trying to remove an entry from the list of MRU hand poses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.2.171|Nov 26, 2014|https://files.ipisoft.com/iPiMocapStudioSetup-3.0.2.171.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Additional improvements in calibration procedure:&lt;br /&gt;
** flashlight marker detection becomes faster and more robust;&lt;br /&gt;
** calibration of multiple Kinect 2 sensors with the aid of flashlight is now supported;&lt;br /&gt;
** undo/redo is now fully functional for calibration projects;&lt;br /&gt;
** automatic detection of ground points is slightly improved to become more reliable in complex cases.&lt;br /&gt;
* Options for FBX export:&lt;br /&gt;
** FBX version;&lt;br /&gt;
** Binary/ASCII format.&lt;br /&gt;
* Manual ground height fine-tuning for action projects ('''Scene''' tab).&lt;br /&gt;
* Message about incompatible video card on execution of Tracking / Refine / Refit Pose if video card is not '''DirectX 11''' capable.&lt;br /&gt;
* Reduced memory footprint.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* Binary format of project files is slightly changed. This version can open projects saved by previous versions. But previous versions are unable to open projects saved by this version.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking overrides key frames for hands.&lt;br /&gt;
* Wrong position of video billboard for projects from depth sensors when alignment of color video to depth is switched off.&lt;br /&gt;
* FBX import/export doesn't work in rear cases: OS is Windows 7 64-bit, Service Pack 1 is not installed, CPU supports AVX instructions set (e.g. Intel Core i3/i5/i7 Haswell).&lt;br /&gt;
* Fatal error &amp;quot;NullReferenceException&amp;quot; during application start up in rear cases.&lt;br /&gt;
* Minor bugs in visibility of imported character's bones and opacity of imported character's skin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.1.169|Nov 11, 2014|https://files.ipisoft.com/iPiMocapStudioSetup-3.0.1.169.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Disabling tabs area and some keyboard shortcuts during processing to prevent unintentional interruption of operation.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Crash on start on hardware configurations with high resolution display and 2 GB (or less) video card.&lt;br /&gt;
* Processing speed degradation on Windows 7.&lt;br /&gt;
* Rare false failure of integrity check in certain environments.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.0.166|Nov 03, 2014|https://files.ipisoft.com/iPiMocapStudioSetup-3.0.0.166.exe}}&lt;br /&gt;
&lt;br /&gt;
The first public release of [[iPi Mocap Studio|iPi Mocap Studio 3]]. If you're user of '''iPi Studio 2.x''' or '''iPi Studio 1.x''' then please visit [[Migration to V3 from Older Versions]] article.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support of new depth sensors: [[Depth Sensors Comparison|Kinect for Xbox One / Kinect 2 for Windows]].&lt;br /&gt;
* Improved calibration:&lt;br /&gt;
** more reliable;&lt;br /&gt;
** faster;&lt;br /&gt;
** automatic ground detection;&lt;br /&gt;
** calibration quality feedback.&lt;br /&gt;
* Improved tracking for arms and legs.&lt;br /&gt;
* Redesigned user interface.&lt;br /&gt;
* Comprehensive progress indicators.&lt;br /&gt;
* Improved user interface for animation export and motion transfer.&lt;br /&gt;
* More accurate center of mass calculation.&lt;br /&gt;
* Tons of minor improvements and fixes.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* New project file formats: [[.iPiVideo File Extension|.iPiVideo]], [[.iPiCalib File Extension|.iPiCalib]]  and [[.iPiLocked File Extension|.iPiLocked]]. V2 projects can be opened and stored to the new format.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Migration to DirectX 11.&lt;br /&gt;
* Moving to Microsoft .Net 4.5.1 Platform.&lt;br /&gt;
* Using new installation and auto-update system instead of buggy ClickOnce technology.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Recorder_Release_Notes</id>
		<title>iPi Recorder Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Recorder_Release_Notes"/>
				<updated>2021-02-26T14:02:22Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Switched to HTTPS for installer downloads&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color:#222222; border:dashed 1px gray; padding:4pt; margin:0.5em; background-color:#FAFAFA&amp;quot;&amp;gt;&lt;br /&gt;
''Here you can find history of recent versions of [[iPi Recorder]].''&lt;br /&gt;
&lt;br /&gt;
''[[iPi Recorder]] has built-in auto update functionality. Auto update feature is configured so that checks for update are made once per day. It helps to reduce the start time of the application. If you want to update ASAP &amp;amp;mdash; you can use the '''Check for Update''' button on home screen.''&lt;br /&gt;
&lt;br /&gt;
''Note that both of these features require Internet connection. Alternatively (in case of troubles with auto update), you can download and run the updated installation program from [https://files.ipisoft.com/iPiRecorderSetup.exe direct link].''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.5.0.84|Feb 23, 2021|https://files.ipisoft.com/iPiRecorderSetup-4.5.0.84.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support of new '''Intel RealSense''' sensors: [https://www.intelrealsense.com/lidar-camera-l515/ L515] and [https://www.intelrealsense.com/depth-camera-d455/ D455]. Comparison of these new sensors with others can be found [[Depth Sensors Comparison|here]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;table border=0&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;48%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:RealSenseL515.jpg|thumb|Intel RealSense L515]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;4%&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td width=&amp;quot;48%&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Image:RealSenseD455.jpg|thumb|Intel RealSense D455]]&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.6.83|Dec 7, 2020|https://files.ipisoft.com/iPiRecorderSetup-4.4.6.83.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Azure Kinect''': displaying of wired synchronization mode in the Header and Properties panels.&lt;br /&gt;
&lt;br /&gt;
[[File:Azure-Kinect-wired-sync-mode.png|400px|center|Wired sync mode]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed &amp;quot;Darkening for Calibration&amp;quot; behaviour for '''Azure Kinect''' depth sensors.&lt;br /&gt;
* Fixed app crash when receiving corrupted MJPEG frames via '''Libfreenect2''' drivers.&lt;br /&gt;
* Fixed app crash when evaluating background based on video stream containing corrupted MJPEG frame(s).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Switching to version 1.4.1 of Azure Kinect Sensor SDK to communicate with '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.5.82|Feb 28, 2020|https://files.ipisoft.com/iPiRecorderSetup-4.4.5.82.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Video Builder''' now supports converting MKV videos recorded with Azure Kinect to iPiVideo format.&lt;br /&gt;
* Added automation commands to [[iPi_Automation_Add-on#start-broadcasting|start]]/[[iPi_Automation_Add-on#stop-broadcasting|stop]] broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]] in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash when receiving corrupted MJPEG frames from web cameras.&lt;br /&gt;
* Fixed app crash when playing back videos containing corrupted MJPEG frames.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.4.81|Oct 9, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.4.4.81.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Common &amp;quot;Darkening for Calibration&amp;quot; setting in toolbar area for '''Azure Kinect''' depth sensors. It is convenient for calibration of multiple '''Azure Kinect''' depth sensors using light marker (flashlight, PS Move).&lt;br /&gt;
* Command line argument &amp;lt;tt&amp;gt;--hide-recent-videos&amp;lt;/tt&amp;gt; to hide '''recent videos''' area and '''Browse...''' button on Home screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Bug fixes and accuracy improvements in broadcasting for [[Real-time Tracking for Live Preview|Live Preview]].&lt;br /&gt;
::{{Important|[[iPi Mocap Studio]] 4.3.0 or later is required.}}&lt;br /&gt;
* Corrections in behaviour of '''Exposure''' setting for '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Switching to version 1.2.0 of Azure Kinect Sensor SDK to communicate with '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.0.77|Aug 23, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.4.0.77.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''Azure Kinect''' depth sensor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.2.75|Aug 3, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.3.2.75.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed pairing of PS Move controllers broken in Windows 10 May 2019 Update (build 18362).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.1.74|May 16, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.3.1.74.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better quality of [https://en.wikipedia.org/wiki/Bayer_filter debayer] filter on exporting of video recorded from PS3 Eye webcams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.0.73|Mar 22, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.3.0.73.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for Nintendo Joy-Con motion controllers. At the moment this feature is considered experimental. Waiting for your feedback.&lt;br /&gt;
* Synchronization of videos based on audio data in '''Video Builder'''.&lt;br /&gt;
* Abort recording when a motion controller disconnects or otherwise goes in error status.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Proper display of error status for motion controllers and audio devices in device list.&lt;br /&gt;
* Prevent process hang-up after exit when using web cameras. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better handling and diagnostics for GPU compatibility issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.2.72|Feb 26, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.2.2.72.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Infinite continuous auto-refreshing of device list on home screen when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2 via UsbDk driver.&lt;br /&gt;
* Device lost during background evaluation when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with multiple Kinect v2 devices via UsbDk driver.&lt;br /&gt;
* Version of USB connection was not detected correctly for Intel RealSense D400 series depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.1.71|Feb 18, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.2.1.71.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Auto refresh of device list on connection/disconnection of USB devices. This saves from pressing '''Refresh Devices''' button in most times. Still, you may need this button sometimes.&lt;br /&gt;
* All cameras are selected by default on '''EDIT''' tab.&lt;br /&gt;
* Tip about proper settings for Logitech C922 camera.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* When using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2, disconnected devices were not removed from the device list.&lt;br /&gt;
* Application freezed when returning to the home screen after a web camera has been disconnected.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Updated used version of RealSense SDK 2.&lt;br /&gt;
* Updated used version of OpenNI and driver for Orbbec Astra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.0.70|Feb 5, 2019|https://files.ipisoft.com/iPiRecorderSetup-4.2.0.70.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple Kinects v2 on a single PC. [[Multiple Kinects v2 on a Single PC|See details]] in docs.&lt;br /&gt;
* Support for multiple ASUS Xtion2 on a single PC. Also it does not conflict with Kinect v2 anymore.&lt;br /&gt;
* Selectively enable support for various camera types in '''Camera Types''' panel. Some camera types have conflicts in runtime, and this capability allows to resolve such issues by disabling unused camera types.&lt;br /&gt;
* '''Add Controller''' button changed to '''Add Device'''. Dropdown now includes all supported camera types to quickly enable support and obtain installation/connection instructions. Items for motion controllers behave as previously &amp;amp;mdash; run pairing wizard.&lt;br /&gt;
* Preserving audio when converting regular video files to .iPiVideo format.&lt;br /&gt;
* Added '''Sync by Flash''' button to the ribbon of '''Video Builder'''. It automatically detects flashes in all videos and attempts to synchronize them based on that data.&lt;br /&gt;
[[File:Add-Device-Kinect2-multiple.png|400px|center|Add Device dropdown]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.0.69|Dec 3, 2018|https://files.ipisoft.com/iPiRecorderSetup-4.1.0.69.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple depth sensors in [[Real-time Tracking for Live Preview|live data streaming]]. Can be used in combination with [[Distributed Recording]].&lt;br /&gt;
* Support for [https://www.theverge.com/circuitbreaker/2017/10/3/16411466/sony-ps-move-controller-mini-usb-micro-playstation-vr new modification] of '''PS Move''' motion controllers:&lt;br /&gt;
** new model has '''CECH-ZCM2x''' label (previous model was '''CECH-ZCM1x'''),&lt;br /&gt;
** new model has micro-USB connection slot (previous model had mini-USB connection slot),&lt;br /&gt;
** this new model doesn't have magnetometer, but it looks like that is has better gyro-sensors and accelerometers, which provide rather precise data,&lt;br /&gt;
** for this reason we can recommend to use this model (it should be accurate enough for Motion Capture needs).&lt;br /&gt;
* Automatic video synchronization based on flashes in [[How_to_Build_Synced_Multi-Camera_Video|Build Combined Video]] tool.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.7.67|Sep 6, 2018|https://files.ipisoft.com/iPiRecorderSetup-4.0.7.67.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Estimation and visualization of quality of [[How to Calibrate Camera Optics|camera optics calibration]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Cameras/depth sensors were not synchronized correctly during [[Distributed Recording]] under certain conditions.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.5.65|Aug 24, 2018|https://files.ipisoft.com/iPiRecorderSetup-4.0.5.65.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Ask confirmation when leaving video builder and there are unsaved changes.&lt;br /&gt;
* '''Clear All''' command in video builder toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Builder UI was not properly updated after setting sync frame on a separate tab.&lt;br /&gt;
* Timeline selection interval was erroneously set from previous video builder session.&lt;br /&gt;
* Improved reliability around loading camera parameters.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.4.64|Aug 13, 2018|https://files.ipisoft.com/iPiRecorderSetup-4.0.4.64.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[How to Build Synced Multi-Camera Video|Video builder]] now considers frame time stamps for better alignment of frames between videos.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Adjusting T-pose frames in skeleton tracks after synchronization in [[How to Build Synced Multi-Camera Video|video builder]].&lt;br /&gt;
* Fixed improper behavior of frame selection indicator in [[How to Calibrate Camera Optics|camera calibration tool]].&lt;br /&gt;
* RESULT tab in [[How to Calibrate Camera Optics|camera calibration tool]] did not hide when list of selected frames changed.&lt;br /&gt;
* Fixed app crash on startup due to error in initialization of Open NI 2. The error is usually caused by failure of ASUS Xtion 2 driver when other camera is connected (occurs for some camera models). &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.3.63|Jul 19, 2018|https://files.ipisoft.com/iPiRecorderSetup-4.0.3.63.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation under rare conditions.&lt;br /&gt;
* Fixed app crash when stopping recording while in full screen mode.&lt;br /&gt;
* Fixed app crash when running second instance of the application under rare conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Automatically exit full screen mode on certain events.&lt;br /&gt;
* Show app crash report window for crashes occurred in app initialization.&lt;br /&gt;
* Updated OpenNI driver for ASUS Xtion2.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.1.61|Jul 03, 2018|https://files.ipisoft.com/iPiRecorderSetup-4.0.1.61.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for the new depth sensors:&lt;br /&gt;
** Intel RealSense [https://realsense.intel.com/stereo/ D415&amp;amp;nbsp;/&amp;amp;nbsp;D435]&lt;br /&gt;
** Orbbec [https://shop.orbbec3d.com/Astra_p_12.html Astra] / [https://shop.orbbec3d.com/Astra-Pro_p_35.html Astra PRO]&lt;br /&gt;
** ASUS [https://www.asus.com/3D-Sensor/Xtion-2/ Xtion2]&lt;br /&gt;
* [[How to Calibrate Camera Optics|Tool for precise calibration of cameras]] that allows to determine camera internal parameters, including distortion.&lt;br /&gt;
* Powerful [[How to Build Synced Multi-Camera Video|video builder]], which allows to combine/edit video from different sources, (re)evaluate background, set/patch inter-cameras synchronization, etc.&lt;br /&gt;
* Support for [[Quick Start Guide for Multiple Action Cameras Configuration|workflow with action cameras]] like [https://shop.gopro.com/cameras GoPro] and [https://sjcam.com/ SJCAM].&lt;br /&gt;
* [[Real-time Tracking for Live Preview]]: live data streaming to [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Poor quality of Sony PS3 Eye video if Upside Down option set.&lt;br /&gt;
* Backround was not discarded in case of certain changes of the recording settings.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.2.57|Oct 23, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.3.2.57.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Сritical bug fix in depth sensors reinitialization after resetting of devices or returning from playback.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.1.56|Oct 13, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.3.1.56.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Workflow improvements for background evaluation in [[Distributed Recording|distributed recording]]:&lt;br /&gt;
** It is allowed to enter slave mode or connect to slaves without previously evaluating background.&lt;br /&gt;
** Running background evaluation on a master PC triggers evaluation on slave PCs as well. Thus there is no need to run background evaluation on slave PCs manually.&lt;br /&gt;
** Current percentage of background area is displayed in a status of a slave PC (minimum value among all cameras on this slave PC).&lt;br /&gt;
* Export of depth data from iPiVideo to series of PNG files. 16-bit grayscale colors represent depth values in millimeters.&lt;br /&gt;
:{{Note|For Kinect 2, a conversion table from depth space to camera space is exported into a TAB-separated text file along with depth data.}}&lt;br /&gt;
* Simple frame center marker introduced for alignment purposes has been replaced by a more useful alignment grid.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Ensure '''PLAY''' tab is activated first when opening a record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.0.55|Aug 14, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.3.0.55.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved performance with '''Logitech C922''' cameras.&lt;br /&gt;
* Workflow for opening a record for playback from '''Recording Results''' dialog is improved. Instead of '''HOME''' button, there is a '''BACK''' button to return to recording without losing previous recording state (like evaluated background). &lt;br /&gt;
* Option to mark centers of camera frames on '''SETUP''' screen. This may help with positioning of cameras. &lt;br /&gt;
* Statistics overlay control is hidden the same way as other controls when collapsed to not cover the bottom area of a frame. &lt;br /&gt;
* Asking confirmation on closing the application when recording is in process. &lt;br /&gt;
* New event ''recording-started'' in [[iPi Automation Add-on|Automation addon]].&lt;br /&gt;
* Hover toolbar in '''Recent Records''' list. It was available as context menu (on right click) previously. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Pressing '''PROPERTIES''' or '''CALIBRATE''' button in overlay controls now exits full screen mode automatically. &lt;br /&gt;
* Compatibility of supported compression modes is now considered when determining whether selected cameras are compatible. &lt;br /&gt;
* Fixed app crash when an error occurs on disconnecting web camera. &lt;br /&gt;
* '''Reset Devices''' command on '''RECORD''' screen now does not reset evaluated background.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Using GPU (supporting DirectX 11) for rendering camera streams. This improves overall performance during recording.&lt;br /&gt;
* Improved performance of the '''Trace''' window. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.11.53|Jun 12, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.2.11.53.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Calibration procedure did not finish with some PS Moves because they do not provide magnetic data. Now magnetic calibration can be skipped.&lt;br /&gt;
{{Note|It is not clear currently whether such PS Moves lack magnetometer completely or it is disabled. Without magnetic data, an orientation provided by controller will likely suffer more from the drift over time issue.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.9.51|Apr 28, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.2.9.51.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation with Xtion/Carmine depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.8.50|Apr 25, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.2.8.50.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@90fps''' and '''1920x1080@90fps''' modes of '''Logitech BRIO''' webcam.&lt;br /&gt;
* For depth sensors (Kinect, Kinect v2, Xtion, PrimeSense): checking floor detection quality during background evaluation, warning user about bad floor visibility.&lt;br /&gt;
* Making photo from web camera or depth sensor (copying of current image from video source to clipboard).&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] updated to manage [[Distributed Recording]]:&lt;br /&gt;
** Added [[iPi_Automation_Add-on#discover-slaves|discover-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#connect-to-slaves|connect-to-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#disconnect-from-slaves|disconnect-from-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#enter-slave-mode|enter-slave-mode]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#exit-slave-mode|exit-slave-mode]] command&lt;br /&gt;
** '''recording-stopped''' event has got a new argument '''slaveResults''' which holds some details about the results of distributed recording on slave PCs.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: ensure correspondence of devices/screens order in UI and items order in the result of [[iPi_Automation_Add-on#get-devices-state|get-devices-state]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: argument '''selectedDevices''' of [[iPi_Automation_Add-on#open-recorder|open-recorder]] command was ignored. Now it works and items order in '''selectedDevices''' defines devices/screens order in UI.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] could hang in rare cases during events sending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.7.49|Mar 07, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.2.7.49.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@60fps''' mode of '''Logitech C922 Pro Stream''' webcam.&lt;br /&gt;
* Filtering out webcam device for Kinect v2 sensor which appeared after recent Windows updates. This prevents confusion when recording with a &amp;quot;Kinect&amp;quot; camera produces a video without depth data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed incorrect handling of skeletal data while saving edited videos.&lt;br /&gt;
* Fixed storing of incorrect device parameters in record after hot-swapping Kinect v2 sensors while Recorder is running.&lt;br /&gt;
* Fixed some visual glitches of the ribbon in collapsed state.&lt;br /&gt;
* Fixed cropping of camera screens on window resize occurring under certain conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved performance of calculation of background area statistics.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.6.48|Jan 25, 2017|https://files.ipisoft.com/iPiRecorderSetup-3.2.6.48.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automation Add-on: added [[iPi_Automation_Add-on#merge-videos|merge-videos]] command.&lt;br /&gt;
* Warning about possible performance issues on '''RECORD''' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Results of some checks on recording start were ignored. For instance, recording started after user answered '''No''' when presented a warning about low FPS.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.5.47|Nov 10, 2016|https://files.ipisoft.com/iPiRecorderSetup-3.2.5.47.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Pairing of Sony PS Move controllers on Windows 8/10 using standard Bluetooth drivers, without the need to use ''Motion in Joy'' third-party drivers.&lt;br /&gt;
* Automation Add-on: added ''forceStart'' flag to [[iPi_Automation_Add-on#start-recording|start-recording]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* In case of people detection during background recording with Kinect v2 user's choice to use or discard recorded background was processed incorrectly.&lt;br /&gt;
* Software crashed after pressing ''Reset'' button on ''RECORD'' screen when Kinects were used for recording.&lt;br /&gt;
* Software crashed in some cases on start of distributed recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.3.45|Jul 14, 2016|https://files.ipisoft.com/iPiRecorderSetup-3.2.3.45.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''iPi Automation Add-on''' released.&amp;lt;br&amp;gt;This tool allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending JSON commands via Windows dll. It can be used for:&lt;br /&gt;
** Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution;&lt;br /&gt;
** Automation of repeatable tasks;&lt;br /&gt;
** Automation of custom workflow.&lt;br /&gt;
{{Note|Add-on is not a free update and requires separate license key. 30-days free trial is [[iPi_Automation_Add-on#License_and_Trial|available]]. For more information please read [[iPi Automation Add-on]] documentation.}}&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.4.43|Apr 25, 2016|https://files.ipisoft.com/iPiRecorderSetup-3.1.4.43.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Show statistics of background quality (background area percentage).&lt;br /&gt;
* Detecting substantial change of background that may deteriorate tracking quality.&lt;br /&gt;
* Show ‘green screen’ (Hide Background) during recording.&lt;br /&gt;
* Support of Intel [https://ark.intel.com/products/92256/Intel-RealSense-Camera-R200 RealSense R200] sensor. &lt;br /&gt;
** Please be aware that R200 depth quality is lower compared to Kinect sensors so far, so tracking accuracy may deteriorate. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Performance optimizations for recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.3.38|Nov 19, 2015|https://files.ipisoft.com/iPiRecorderSetup-3.1.3.38.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Recording '''Kinect 2''' tracking data for [[Using_Tracking_Data_from_Depth_Sensors|further usage]] in '''iPi Mocap Studio'''.&lt;br /&gt;
* Detecting if several '''Kinect 2''' sensors are connected to the same PC.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Decreased background subtraction threshold for '''Kinect 2''' sensors.&lt;br /&gt;
* Memory usage optimizations.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.2.36|Jun 18, 2015|https://files.ipisoft.com/iPiRecorderSetup-3.1.2.36.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Resetting previously evaluated background when camera properties are changed on the Setup stage.&lt;br /&gt;
* Export of audio data with a separate button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Frequent ‘Camera hang detected’ errors on recording start with large number of cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Correct installation of older version over newer one.&lt;br /&gt;
*: Previously uninstallation was required.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.1.34|Mar 06, 2015|https://files.ipisoft.com/iPiRecorderSetup-3.1.1.34.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automatic selection of available TCP ports for [[Distributed Recording]] if default values ('''31415''' and '''31416''') are in use by other applications.&lt;br /&gt;
* Displaying tips with important info. Click to hide.&lt;br /&gt;
* Filtering out corrupted/absent files in the list of recent records.&lt;br /&gt;
* Improved computation of remaining time when downloading from multiple slaves.&lt;br /&gt;
* Improved error handling in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Progress indication on taskbar icon is not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Partially downloaded records are not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Incorrect timing of records under rare conditions.&lt;br /&gt;
* Order of cameras may differ in records when using multiple slaves.&lt;br /&gt;
* Cancelling recording while counting down leads to app crash.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.0.33|Dec 29, 2014|https://files.ipisoft.com/iPiRecorderSetup-3.1.0.33.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Distributed Recording]] which provides the ability to record synchronized video from multiple devices connected to several computers. Using this feature now one can use multiple '''MS Kinect 2''' sensors for tracking.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Video editing and export were not allowed for four-cameras video in [https://ipisoft.com/software/basic-edition/ Basic Edition].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.1.32|Nov 13, 2014|https://files.ipisoft.com/iPiRecorderSetup-3.0.1.32.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Application crash if at least one motion controller (PS Move or Wii Remote) is selected for recording.&lt;br /&gt;
* Export and video editing were erroneously disabled for free trial.&lt;br /&gt;
* Rare false failure of integrity check in certain environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.0.31|Nov 03, 2014|https://files.ipisoft.com/iPiRecorderSetup-3.0.0.31.exe}}&lt;br /&gt;
&lt;br /&gt;
The first public release of [[iPi Recorder|iPi Recorder 3]]. If you're user of '''iPi Recorder 2.x''' or '''iPi Recorder 1.x''' then please visit [[Migration to V3 from Older Versions]] article.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Depth Sensors Comparison|Kinect for Xbox One / Kinect 2 for Windows support]].&lt;br /&gt;
* Redesigned user interface based on [https://en.wikipedia.org/wiki/Ribbon_(computing) Ribbon concept].&lt;br /&gt;
* [[.iPiVideo File Extension|.iPiVideo]] records editing (cutting, removing cameras, etc.).&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Audio and video export.&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Shell Extension for [[.iPiVideo File Extension|iPiVideo]] files which provides thumbnails and preview functionality for [[.iPiVideo File Extension|iPiVideo]] files in Windows Explorer and Open/Save dialogs.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* [[.iPiVideo File Extension|iPiVideo]] records produced by [[iPi Recorder|iPi Recorder 3]] can't be opened in [https://wiki.ipisoft.com/IPi_Recorder iPi Recorder '''2'''] and [https://wiki.ipisoft.com/IPi_Mocap_Studio iPi Mocap Studio '''2'''].&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Windows XP and Windows Vista. It requires Windows 7 or 8.&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Kinect SDK 1.6, Kinect SDK 1.7 and usage of '''psdrv3''' drivers to work with MS Kinect / MS Kinect for XBOX 360. The only option for these devices is to use Kinect SDK 1.8.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Moving to Microsoft .Net 4.5.1 Platform.&lt;br /&gt;
* Using new installation and auto-update system instead of buggy ClickOnce technology.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Motion_Controllers</id>
		<title>Motion Controllers</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Motion_Controllers"/>
				<updated>2021-01-08T06:36:02Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* Tips on action video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;iPi Motion Capture allows to use motion controllers in addition to cameras for improved tracking of smaller details.&lt;br /&gt;
* Wrist rotations can be tracked only with motion controllers due to low resolution of video.&lt;br /&gt;
* Though head can be tracked with camera, using a motion controller for that purpose greatly reduces the processing time and may provide better accuracy.&lt;br /&gt;
&lt;br /&gt;
Essentially, a motion controller provides ''3D orientation'' value which can be used to track rotations of a single bone it is attached to.&lt;br /&gt;
&lt;br /&gt;
= Equipment =&lt;br /&gt;
&lt;br /&gt;
[[iPi Recorder]] supports these models of motion controllers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Model !! Bluetooth !! Magnetometer !! Measurement Rate !! Battery Life / Charging !! Comments&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[Image:Psmove.jpg|border|right]]&lt;br /&gt;
PlayStation Move (model CECH-ZCM1x, older)&lt;br /&gt;
| Bluetooth 2.1 EDR&lt;br /&gt;
| &amp;lt;center&amp;gt;+&amp;lt;/center&amp;gt;&lt;br /&gt;
| 120 Hz&lt;br /&gt;
| 10 hours &amp;lt;br&amp;gt; Charged with mini-USB cable&lt;br /&gt;
|&lt;br /&gt;
* Barcode at the back label starts with lower digit like '''1''' or '''GS3'''&lt;br /&gt;
* This is the only model with magnetometer (see note below table)&lt;br /&gt;
* Lighting sphere can be used for scene calibration with a light marker&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[Image:Psmove.jpg|border|right]]&lt;br /&gt;
PlayStation Move (model CECH-ZCM1x, newer)&lt;br /&gt;
| Bluetooth 2.1 EDR&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;amp;ndash;&amp;lt;/center&amp;gt;&lt;br /&gt;
| 120 Hz&lt;br /&gt;
| 10 hours &amp;lt;br&amp;gt; Charged with mini-USB cable&lt;br /&gt;
|&lt;br /&gt;
* Barcode at the back label starts with higher digit like '''4'''&lt;br /&gt;
* Lighting sphere can be used for scene calibration with a light marker&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[Image:ps-move-2.jpg|border|100px|right]]&lt;br /&gt;
PlayStation Move (model CECH-ZCM2x)&lt;br /&gt;
| ? &amp;lt;br&amp;gt; ''Tested with ASUS USB-BT400 adapter (Bluetooth 4.0)''&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;amp;ndash;&amp;lt;/center&amp;gt;&lt;br /&gt;
| 1200 Hz &amp;lt;br&amp;gt; ''10 times faster than CECH-ZCM1x''&lt;br /&gt;
| 10+ hours &amp;lt;br&amp;gt; ''No official number but battery is known to have greater capacity than CECH-ZCM1x'' &amp;lt;br&amp;gt; Charged with micro-USB cable&lt;br /&gt;
|&lt;br /&gt;
* Lighting sphere can be used for scene calibration with a light marker&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:joy-con.jpg|120px|border|right]]&lt;br /&gt;
Nintendo Joy-Con&lt;br /&gt;
| Bluetooth 3.0&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;amp;ndash;&amp;lt;/center&amp;gt;&lt;br /&gt;
| 200 Hz&lt;br /&gt;
| 20 hours &amp;lt;br&amp;gt; Charged by attaching to Switch console or Joy-Con grip&lt;br /&gt;
|&lt;br /&gt;
* Most compact dimensions&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WiiRemote.jpg|border|right]]&lt;br /&gt;
Wii Remote with Motion Plus&lt;br /&gt;
| Bluetooth 2.1 EDR&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;amp;ndash;&amp;lt;/center&amp;gt;&lt;br /&gt;
| 100 Hz&lt;br /&gt;
| 20-30 hours &amp;lt;br&amp;gt;&lt;br /&gt;
2x AA batteries&lt;br /&gt;
| &lt;br /&gt;
* Needs to be paired on each usage.&lt;br /&gt;
* Batteries are consumed even when off. So take them out when device is not used for a long period.&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wii_remote_plus.jpg|100px|border|right]]&lt;br /&gt;
Wii Remote Plus (with Motion Plus integrated)&lt;br /&gt;
| Bluetooth 2.1 EDR&lt;br /&gt;
| &amp;lt;center&amp;gt;&amp;amp;ndash;&amp;lt;/center&amp;gt;&lt;br /&gt;
| 100 Hz&lt;br /&gt;
| 20-30 hours &amp;lt;br&amp;gt;&lt;br /&gt;
2x AA batteries&lt;br /&gt;
|&lt;br /&gt;
* Needs to be paired on each usage.&lt;br /&gt;
* Batteries are consumed even when off. So take them out when device is not used for a long period.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Your PC should be equipped with a Bluetooth radio module to connect with motion controllers. If you do not have a built-in one, you'll need an USB Bluetooth adapter.&lt;br /&gt;
&lt;br /&gt;
{{Important|Each motion controller requires specific version of Bluetooth protocol. Usually adapters supporting higher versions are also compatible with lower version devices. However, this is not always the case. For instance, many BT 3.0/4.0 adapters do not work with PS Move CECH-ZCM1x model which requires BT 2.1 EDR. So if you're buying an adapter specifically for use with motion controllers, it may be safer to get one supporting the exact version of Bluetooth required by a particular motion controller.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Prefer '''Class 1''' adapters as they have extended range of operation (up to 100m).}}&lt;br /&gt;
&lt;br /&gt;
[[iPi Recorder]] does not limit the number of connected motion controllers. However, the hardware does. Most Bluetooth adapters can handle up to 4 PS Move controllers (sometimes more). iPi Software supports up to 3 controllers for each actor. Thus, additional Bluetooth adapter(s) may be required. Unfortunately, standard Windows Bluetooth drivers do not support multiple adapters. We used to recommend Motion in Joy drivers that allowed support for multiple adapters, but these drivers are now out of support and thus not available anymore. However, if you use [[Distributed Recording]], you can use multiple adapters (one adapter per computer).&lt;br /&gt;
&lt;br /&gt;
{{Note|A magnetometer improves the accuracy of output orientation in the long run by preventing its drift around vertical axis. However, this comes with downsides. First, magnetometer introduces sometimes noticeable delay in the response of output orientation to actual motions. Second, magnetometer measurements depend on environment. Thus, for fast motions and areas with high elecromagnetic noise PS Move with magnetometer may not work well.}}&lt;br /&gt;
&lt;br /&gt;
= Recording =&lt;br /&gt;
&lt;br /&gt;
To get your motion controller in the list of devices, it must be connected to a PC via Bluetooth. But before it can connect to your Bluetooth adapter, the controller must be ''paired'' with it. For that, press the '''Add Device''' button in the toolbar, select device type you have, and then follow the instructions specific for this device.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:recorder-add-controller.png|400px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tip|When pairing Joy-Con or newer PS Move model CECH-ZCM2x (with micro-USB connector) you'll see a notification from Windows about adding a new device.&lt;br /&gt;
&lt;br /&gt;
[[File:PS_Move_-_Add_device_notification.png|400px|border|Notification on Windows 10]]&lt;br /&gt;
&lt;br /&gt;
Click on it to bring up a system dialog and allow connection.&lt;br /&gt;
&lt;br /&gt;
[[File:PS_Move_-_Pair_device_dialog.png|400px|border|Pair dialog on Windows 10]]}}&lt;br /&gt;
&lt;br /&gt;
For PS Move and Joy-Con, pairing is one-time process unless you reconnect motion controller to another PC or gaming console. Each time you connect controller to another host, it should be paired. After pairing, the Bluetooth connection is established automatically each time you power on the motion controller. To power on PS Move, press the '''PS''' button, for Joy-Con &amp;amp;mdash; any button on a front side. To power off, hold down the '''PS''' button for a long time (about 10 seconds), for Joy-Con &amp;amp;mdash; just press '''SYNC''' button.&lt;br /&gt;
&lt;br /&gt;
For Wii Remote, pairing should be done each time after Bluetooth connection is lost, powering off either the motion controller or the PC. To power off Wii Remote, hold down the '''Power''' button for a couple of seconds.&lt;br /&gt;
&lt;br /&gt;
{{Note|The recent revisions of Wii Remote Plus controllers may not work properly using the standard Bluetooth drivers. For them, you can use [[Wii Remote with Toshiba Bluetooth stack|Toshiba Bluetooth stack]].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:recorder-psmove-in-device-list.png|400px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have successfully paired the controllers with Bluetooth adapter, they should be visible in device list. Select them in addition to cameras and press the '''Record Video''' button. Motion controller is visualized as a rotating blue &amp;quot;brick&amp;quot; showing its orientation in space. Hover mouse on the controller's screen and you'll see some useful controls like battery indicator and view selection.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:recorder-motion-controller-visualization.png|400px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When controller is being used for the first time (or have not been used for a long period) a message is displayed over it saying it is not calibrated. ''Calibration'' of a motion controller (not confuse with calibration of cameras) is needed for more accurate measurements, so it is highly recommended to get through it every time you see this message. To run calibration process, just click on the message or press the '''CALIBRATE''' button in the on-screen controls.&lt;br /&gt;
&lt;br /&gt;
After a motion controller is calibrated, you can use it in recording action videos.&lt;br /&gt;
&lt;br /&gt;
{{Tip|You can use motion controller to start/stop recording (including background evaluation). Just hold PS Move's '''Start''' button, or JoyCon's '''Capture''' (left) or '''Home''' (right) button, or Wiimote's '''A''' button for a couple of seconds, until you feel a vibration.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|Generally, there is no need to enable motion controllers when recording calibration videos, because their data will not be used in the calibration process. However, you can use PS Move's light sphere as a light marker for calibration.&amp;lt;br/&amp;gt;You can light it with different colors using on-screen controls for PS Move or by pressing corresponding buttons on PS Move itself. Buttons work even if PS Move is not selected for recording. White color usually works best for the calibration.&amp;lt;br/&amp;gt;It is not recommended to light PS Move when recording action videos as it can lead to more tracking errors.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Buttons !! Color&lt;br /&gt;
|-&lt;br /&gt;
| Select + Circle || &amp;lt;div style=&amp;quot;background:Red; color: White; text-align: center&amp;quot;&amp;gt;Red&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Select + Square || &amp;lt;div style=&amp;quot;background:Magenta; color: White; text-align: center&amp;quot;&amp;gt;Magenta&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Select + Triangle || &amp;lt;div style=&amp;quot;background:Green; color: White; text-align: center&amp;quot;&amp;gt;Green&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Select + Cross || &amp;lt;div style=&amp;quot;background:Blue; color: White; text-align: center&amp;quot;&amp;gt;Blue&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Select + Move || &amp;lt;div style=&amp;quot;background:White; color: Black; text-align: center&amp;quot;&amp;gt;White&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Select + Start || &amp;lt;div style=&amp;quot;background:Yellow; color: Black; text-align: center&amp;quot;&amp;gt;Yellow&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Select + T(rigger) || &amp;lt;div style=&amp;quot;background:Cyan; color: Black; text-align: center&amp;quot;&amp;gt;Cyan&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Select + PS || Off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tips on action video =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; style=&amp;quot;float:right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[File:motion-controller-aiming.jpg|thumb|200px|Aiming at a camera]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[File:motion-controller-standard-grip.jpg|thumb|200px|Standard grip]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is one main requirement:&lt;br /&gt;
# At some moment during the record (for example, at the beginning), you should aim with (each) motion controller at one of the cameras. This is needed to correctly orient the motion controller within the scene coordinate space in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
Now, the tips:&lt;br /&gt;
* For a more natural movement of hands you can attach motion controllers to outer side of hands with tape instead of holding. &lt;br /&gt;
* The recommended location for a motion controller on the head is at the top, with controller's top (light sphere for PS Move) looking forward.&lt;br /&gt;
* To aim at camera with on-head controller (which you can't see), move the head slowly within a reasonable range from assumed direction to a camera. Then you'll select a frame with the most appropriate direction in [[iPi Mocap Studio]].&lt;br /&gt;
* Write down which motion controller corresponds to which body part, by their order in [[iPi Recorder]].&lt;br /&gt;
* If you want to see a natural orientation of prop models like the sword or the pistol in [[iPi Mocap Studio]], hold the controller with its buttons facing the actor's face when an arm with a controller is stretched forward. We call it a &amp;quot;standard&amp;quot; grip (see picture).&lt;br /&gt;
* You can use special accessories for motion controllers like [http://us.playstation.com/ps3/accessories/playstation-move-shooting-attachment-ps3.html shooting attachments]. In that case, the relative position of the controller to the prop is good known, so you just hold it as needed by the scenario (i.e. the '''requirement #2''' is not relevant for this case).&lt;br /&gt;
* You can change the grip of the motion controller during the action. The [[iPi Mocap Studio]] allows you to process every frame range with the same grip independently.&lt;br /&gt;
&lt;br /&gt;
= Tracking =&lt;br /&gt;
&lt;br /&gt;
There is a tab in [[iPi Mocap Studio]] named '''Motion Controllers'''. It is visible only when open project contains data from one or more motion controllers. Numbering of controllers correspond to their order in [[iPi Recorder]] when a video was recorded.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:motion-controllers-tab.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a project with motion data is first created, you will see this data as one or more colored &amp;quot;bricks&amp;quot; floating somewhere under the actor's model. The color is used to differentiate motion controllers in the scene. You can change the color of each controller on the '''Motion Controllers''' tab.&lt;br /&gt;
&lt;br /&gt;
== Aligning to the scene ==&lt;br /&gt;
&lt;br /&gt;
To give more sense to this picture, for each controller you should specify a bone it is attached to. See the '''Attach to''' combobox. It contains '''LHand''', '''RHand''' and '''Head''' bones. When attached, the controller's &amp;quot;brick&amp;quot; is displayed near the corresponding bone of actor's model. For a nicer look, you have an option to replace the default brick with several prop models like sword and pistol.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:motion-controllers-attached.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make some use of motion controller's data, it first needs to be matched with the scene coordinate space. Assuming that scene's ground plane is horizontal, controller's ''pitch'' and ''bank'' angles already correspond to the scene. However, ''heading'' angle of controller's orientation is measured from some &amp;quot;arbitrary&amp;quot; origin direction (in terms of the scene). For PlayStation Move it's always the North direction, for Wii Remote &amp;amp;mdash; a direction it was oriented to when recording started. To match coordinates, knowing the scene coordinates for some reference orientation of the controller is needed. That is where aiming at a camera helps.&lt;br /&gt;
&lt;br /&gt;
{{Tip|When using a motion controller for the head, do not forget to disable head tracking when doing the main tracking process of the body. This will save you much time on processing.}}&lt;br /&gt;
&lt;br /&gt;
So you've done with the body tracking, and have attached the controller to a corresponding bone. Now find some frame where the actor is aiming with this controller at some camera. Ensure the body position has been tracked in this frame. Select the target camera as the default, pressing corresponding toolbar button. Pressing the '''Match with Camera #N''' button does matching. After matching, the prop model for the controller should be oriented perfectly as it was intended in the video. Unless the actor did not pay attention to [[#Tips on action video|a proper grip]] of the controller, especially regarding it's bank rotation.&lt;br /&gt;
&lt;br /&gt;
Also you can manually edit position and rotation of the controller with the '''Move''' tool. Activate the tool, click on the controller's model in the scene, and then move and rotate the model to correspond to a position and orientation of an actual controller in the video. This may be used instead of aiming and automatic matching with camera, but is usually less accurate.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If an actor did not aim controller at any camera specifically, look thoroughly through all the frames &amp;amp;mdash; it is very likely that at some point the actor aimed at some camera by accident, at least in horizontal direction (this is sufficient).}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|If you have attached a controller to the head far from the default &amp;quot;top&amp;quot; location (say, at head's side above the ear), then you may adjust its position '''before''' pressing '''Match with camera''' to improve matching accuracy.}}&lt;br /&gt;
&lt;br /&gt;
{{Important|Alignment to the scene is required only once per project and motion controller. That is, you don't need to align again before each application of motion data. However, for better results it may be needed to re-align controller for different regions of a video because of the drifting of motion data with time.}}&lt;br /&gt;
&lt;br /&gt;
== Applying motion data ==&lt;br /&gt;
&lt;br /&gt;
And finally &amp;amp;mdash; applying the motion controller's data to the bone rotation. This makes sense only after the tracking of the body is complete. In case of several controllers, data from each of the controllers is processed separately in any convenient order.&lt;br /&gt;
&lt;br /&gt;
First, determine your region of interest. Ensure that within this region of frames the actor maintains a fixed grip of the controller. Frames with different grip should be processed separately. Next, select some frame within the region where the orientation of actor's bone is well visible on video. Edit the orientation of model's bone with the '''Rotate''' tool to correspond to the video. When ready, press the '''Apply Motion Data''' button &amp;amp;mdash; and in all frames within ROI, the bone's orientation will be set automatically according to relative orientation of bone and controller in the current frame.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Workflow ===&lt;br /&gt;
&lt;br /&gt;
Basically, motion controllers' data should be applied after ''Tracking'' / ''Refine'' / ''Jitter Removal'' stages are performed. However, starting from ''Version 4.0.3'', motion controllers' data can also be used to improve ''Refine'' stage quality. If you apply motion controllers' data before ''Refine'' stage, hands and / or head orientations obtained from motion controllers will be used during ''Refine'' thus allowing to match model with video more accurately. The recommended workflow is thus the following:&lt;br /&gt;
# Perform ''Tracking''.&lt;br /&gt;
# Perform [[Manual Clean-up]] if necessary.&lt;br /&gt;
# [[Motion_Controllers#Aligning_to_the_scene|Align controllers to the scene]] and [[Motion_Controllers#Applying_motion_data|Apply motion data]]&lt;br /&gt;
# Perform ''Refine''&lt;br /&gt;
# Perform ''Jitter Removal''&lt;br /&gt;
# [[Motion_Controllers#Applying_motion_data|Apply motion data]]&lt;br /&gt;
&lt;br /&gt;
=== Head Rotation ===&lt;br /&gt;
By default on-head controller's rotation is applied to Head joint only. Select ''Distribute rotation between Head and Neck'' option to distribute rotation between Head and Neck joints. Head / Neck distribution setting slider will show. Bigger value means bigger part of rotation goes to Head.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:head-motion-controller-head-and-neck-1.png|border]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials and demos =&lt;br /&gt;
&lt;br /&gt;
* A great sample of hand tracking from Seed Crystal Games studio:&lt;br /&gt;
*:  https://www.youtube.com/watch?v=4mV7yITXyBU&lt;br /&gt;
* PS3 Move Gloves for Hand by CManson:&lt;br /&gt;
*: http://forum.ipisoft.com/viewtopic.php?f=3&amp;amp;t=6836&lt;br /&gt;
* DIY solutions for attaching PS Move to a head:&lt;br /&gt;
*: http://forum.ipisoft.com/viewtopic.php?f=3&amp;amp;t=7134&lt;br /&gt;
* Video of pairing procedure for PS Move:&lt;br /&gt;
*: http://vimeo.com/bassill/pairing-ps-move-in-recorder&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Mocap_Studio_Release_Notes</id>
		<title>iPi Mocap Studio Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Mocap_Studio_Release_Notes"/>
				<updated>2020-03-07T15:25:02Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color:#333333; border:dashed 1px gray; padding:4pt; margin:0.5em; background-color:#FAFAFA&amp;quot;&amp;gt;&lt;br /&gt;
''Here you can find history of recent versions of [[iPi Mocap Studio]].''&lt;br /&gt;
&lt;br /&gt;
''[[iPi Mocap Studio]] has built-in auto update functionality. Auto update feature is configured so that checks for update are made once per day. It helps to reduce the start time of the application. If you want to update ASAP &amp;amp;mdash; you can use the '''Help &amp;gt; Check for Update''' menu item.''&lt;br /&gt;
&lt;br /&gt;
''Note that both of these features require Internet connection. Alternatively (in case of troubles with auto update), you can download and run the updated installation program from [http://files.ipisoft.com/iPiMocapStudioSetup.exe direct link].''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.1.240|Feb 28, 2020|http://files.ipisoft.com/iPiMocapStudioSetup-4.3.1.240.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added [[iPi Automation Add-on#Live (Real-Time) Session Commands|automation commands]] to control [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
* Added [[iPi Automation Add-on#start-streaming-animation|automation commands]] to control [[Streaming to Unity|streaming of animation]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash during long live sessions.&lt;br /&gt;
* Fixed app crash when iPiVideo contains corrupted MJPEG frames.&lt;br /&gt;
* Fixed improper work of [[iPi Automation Add-on#load-target-character|load-target-character]] automation command with '''filePath''' argument.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.0.239|Oct 9, 2019|http://files.ipisoft.com/iPiMocapStudioSetup-4.3.0.239.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Animation Streaming''' from [[iPi Mocap Studio]] to Unity. For details see [[Streaming to Unity]].&lt;br /&gt;
[[File:export-tab-streaming.png|300px]]&lt;br /&gt;
* Foot tracking improved for depth sensors.&lt;br /&gt;
* Distance between two arbitrary cameras can be controlled in Calibration projects for multiple RGB cameras (see table under '''Scale''' slider on '''Calibration''' tab).&lt;br /&gt;
* Improvements in [[Real-time Tracking for Live Preview]]:&lt;br /&gt;
** Significant progress in accuracy and stability.&lt;br /&gt;
** High/Low resolution setting.&lt;br /&gt;
** On the fly trajectory filtering (smoothing) during Live Preview.&lt;br /&gt;
** Restoring Live settings from the last session.&lt;br /&gt;
** Better visibility of point cloud during Live Preview.&lt;br /&gt;
** [[Streaming to Unity]] is available for Live Preview. Thus, one can see real-time live feedback right inside Unity.&lt;br /&gt;
:: {{Important|[[iPi Recorder]] 4.4.4 or later is required.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.0.235|Aug 23, 2019|http://files.ipisoft.com/iPiMocapStudioSetup-4.2.0.235.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for videos recorded with '''Azure Kinect''' depth sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved rendering smoothness during live tracking.&lt;br /&gt;
* Minor improvement in the quality of board calibration.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.3.233|May 16, 2019|http://files.ipisoft.com/iPiMocapStudioSetup-4.1.3.233.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Built-in support for Unreal Engine 4 - compatible characters:&lt;br /&gt;
*# You can either import your character from FBX file in [[iPi Mocap Studio]]. If your character skeleton follows Unreal Mannequin structure and naming conventions, motion-transfer profile will be automatically generated. After that you just export animation in FBX format in [[iPi Mocap Studio]] and import it in Unreal Engine.&lt;br /&gt;
*#* {{Tip|This way is recommended because it works for all human-like characters regardless their proportions.}}&lt;br /&gt;
*# Or you can just choose '''UE4 Mannequin''' item from top part of '''Target character''' drop-down menu on '''Export''' tab in [[iPi Mocap Studio]], then you can export animation in FBX format and import result in Unreal Engine.&lt;br /&gt;
*#* {{Note|This way is usable only for characters with default Unreal Engine proportions.}}&lt;br /&gt;
* Selection from compatible motion transfer profiles when importing target character.&lt;br /&gt;
* New features in '''Motion Transfer Profile''':&lt;br /&gt;
** button to auto determine orientation of target character&lt;br /&gt;
** button to clear motion transfer profile&lt;br /&gt;
** slight redesign of controls layout&lt;br /&gt;
** improved tips&lt;br /&gt;
&lt;br /&gt;
[[File:studio-transfer-profile-new-features-4-1-3.png|280px]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Accuracy issue in [https://en.wikipedia.org/wiki/Euler_angles Euler Angles] math (near [https://en.wikipedia.org/wiki/Gimbal_lock Gimbal Lock]). Results in minor short-term jitter of exported animation in some rare cases.&lt;br /&gt;
* Incorrect animation export for FBX models which have non-zero pre/post translation transformations for model node(s).&lt;br /&gt;
* Losing info about gyro sensors when opening project without a video.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Checking that primary GPU is not software emulation and is not '''Microsoft Basic Render Driver'''.&lt;br /&gt;
* Suppress adding to MRU list of target characters if animation was opened using '''Open Animation''' menu item.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.1.231|Dec 27, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.1.1.231.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Introduced ''Distribute rotation between Head and Neck'' setting for [[Motion_Controllers#Head_Rotation|Motion Controllers]].&lt;br /&gt;
* Support for Biomech export operations in [[Batch Processing]].&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.0.230|Dec 03, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.1.0.230.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple depth sensors in [[Real-time Tracking for Live Preview]]. Can be used in combination with [[Distributed Recording]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Twist angle over 180 degrees for hands, feet and head under certain condition.&lt;br /&gt;
* Minor bug fixes in [[Real-time Tracking for Live Preview]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Based on users feedback, we turned off rotation distribution between head and neck joints when data from motion controller is applied to head. (This distribution was introduced in version 4.0.0.223.)&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.3.226|Sep 06, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.3.226.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Using head and hand orientations set from motion controllers during ''Refine'' that allows to improve tracking in some cases.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Crash in tracking after deletion of all animation within ROI.&lt;br /&gt;
* Occasional tracking failures if tracking is applied to new project without saving it.&lt;br /&gt;
* Occasional incorrect hands orientations after tracking or jitter removal if motion controllers data were applied.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better tracking of complex legs or arms poses in some cases.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.2.225|Aug 17, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.2.225.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Removing parasite limbs twists that may appear after ''Jitter Removal'' application.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Removed ''Trajectory Filter'' slider from ''Live'' tab as this setting is not used during live tracking.&lt;br /&gt;
* Disable ''Auto adjust camera FOV'' option for calibration projects recorded with action cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Slightly increased accuracy of removing parasite limbs twists when limbs are nearly straight.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.1.224|Jul 26, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.1.224.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed hand joint rotation tool issues.&lt;br /&gt;
* Removed ''Jitter Removal'' dependence from ''Individual Body Parts Tracking'' options.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved limbs tracking that removes parasite limbs twists when limbs are nearly straight.&lt;br /&gt;
* Increased accuracy of tracking algorithm in some cases due to use of improved joint limits.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.0.223|Jul 03, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.0.223.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Real-time Tracking for Live Preview]] added.&lt;br /&gt;
:{{Note|Supported in '''Basic''' and '''Pro''' editions.}}&lt;br /&gt;
* [http://docs.ipisoft.com/User_Guide_for_Multiple_PS_Eye_Cameras_Configuration#Individual_body_parts_tracking Individual body parts tracking] for post-processing.&lt;br /&gt;
* Improved tracking with the use of motion controllers.&lt;br /&gt;
** Joint limits are taken into account when applying motion controllers data to avoid physically impossible joint orientations.&lt;br /&gt;
** Rotations are distributed between head and neck joints when tracking head.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved background calculation for noisy depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.6.222|Mar 06, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.6.222.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New '''calibration algorithm''' for depth sensors / light marker method.&lt;br /&gt;
** Higher speed.&lt;br /&gt;
** Slightly better accuracy.&lt;br /&gt;
* New/enhanced automation commands:&lt;br /&gt;
** '''get-actor-props'''; '''get-pose-mismatch'''; additional parameters for '''set-actor-props'''.&lt;br /&gt;
** '''recenter-coordinates-on-character'''; '''move-coordinate-system'''.&lt;br /&gt;
** '''export-video'''; ''videoFilePath'' parameter in '''open-project''' command.&lt;br /&gt;
* Added option to take .iPiVideo from project directory if .iPiVideo is not found.&lt;br /&gt;
* Allow fractional values for target FPS in Export Options dialog.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect Biomech export for multiple actors; first actor exported correctly, other actors used bone lengths of first actor.&lt;br /&gt;
* Uneven shoulder height was set for some imported characters.&lt;br /&gt;
* Taking into account target character transform when exporting cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Auto adjust camera FOV is checked by default for calibration project (in case when all RGB cameras have the same model).&lt;br /&gt;
* FBX import: improved search for a root node.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.4.220|Jun 17, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.4.220.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Export Options''' dialog is now shown for any file format after a destination file is selected. '''Recenter coordinates on character''' and '''Export T-pose in the first frame''' options moved to this dialog (they affect exported animation only). '''Advanced motion transfer''' option is left on the '''Export''' tab (it affects both preview in program and exported animation), but moved up, just below '''Show target character''' option.&lt;br /&gt;
* Option for setting the frame rate of an exported animation is added to the '''Export Options''' dialog.&lt;br /&gt;
* Export of cameras is available for COLLADA format.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect vertical positioning of built-in rigs for Motion Builder and 3ds Max.&lt;br /&gt;
* Incorrect positioning of skeleton when exporting with default rig in some situations.&lt;br /&gt;
* Values for selected bone were not displayed on the '''Pose''' tab (introduced in 3.6.0).&lt;br /&gt;
* App crash on project opening under certain circumstances.&lt;br /&gt;
* Motion transfer profile was not saved automatically after changing target character’s orientation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.3.219|May 29, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.3.219.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Applying data from motion controllers fails after saving a project.&lt;br /&gt;
* A number of bugs with '''Move Coordinate System''' tool:&lt;br /&gt;
** App crash&lt;br /&gt;
** Frames with default pose were transformed&lt;br /&gt;
** Visual glitches&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.2.218|May 26, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.2.218.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Exported animation always has default 30 FPS (introduced in v3.6.0.216).&lt;br /&gt;
* Changes in actor appearance are not applied to the target character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.1.217|May 25, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.1.217.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Crash of license activation during application start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.0.216|May 25, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.0.216.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New calibration algorithm for the light marker method.&lt;br /&gt;
** Vastly greater speed&lt;br /&gt;
** Slightly better accuracy&lt;br /&gt;
{{Tip|In case of problems with the new algorithm, you can revert to using the old algorithm. Check '''Use old calibration algorithm''' in '''Manual Calibration Adjustments &amp;gt; Advanced Calibration Settings''' section on the '''Calibration''' tab.}}&lt;br /&gt;
* Including cameras into exported animations in FBX format (optional).&lt;br /&gt;
* Vastly increased the speed of applying data from motion controllers.&lt;br /&gt;
* Automation add-on:&lt;br /&gt;
** Added '''useFastTrackingAlgorithm''' field to the arguments of '''set-tracking-props''' command and to the result of '''get-tracking-props''' command.&lt;br /&gt;
** Added '''markerColor''' field to the arguments of '''run-calibration''' command.&lt;br /&gt;
** Changed default value of '''autoDetectInitialCameraPositions''' field in '''create-project''' command to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Biomech add-on: Unchecking '''Export RGB''' checkbox when there is no color data.&lt;br /&gt;
* Fixed app crash after opening project under certain conditions.&lt;br /&gt;
* Fixed displaying of warnings on the '''Calibration''' tab at improper moments.&lt;br /&gt;
* Task dialogs after animation/video export were modeless.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.5.1.215|Apr 23, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.5.1.215.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Wrong scale in exported DMX animation (see [http://forum.ipisoft.com/viewtopic.php?f=5&amp;amp;t=9756 forum message]).&lt;br /&gt;
* Program crashed on importing character having same-named bones.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.5.0.214|Apr 19, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.5.0.214.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New fast tracking algorithm for depth sensors (BETA version). To use it, turn on ''Use fast tracking algorithm (BETA)'' checkbox on ''Tracking'' tab.&lt;br /&gt;
** Tracking speed increase is up to 2.5 times depending on particular hardware and tracking options.&lt;br /&gt;
** Available for single-actor projects, and single-GPU configurations.&lt;br /&gt;
{{Tip|If you use 2 GPUs for tracking, you need to turn it off by unchecking second GPU via ''Help &amp;gt; Manage GPU Usage'' menu.}}&lt;br /&gt;
&lt;br /&gt;
* Improvements in animation export.&lt;br /&gt;
** New control on ''Export'' tab to rotate imported characters into proper orientation. This is useful for many popular characters, including standard Unreal Engine character.&lt;br /&gt;
** The motion is now correctly transferred to imported characters with separate ''Root'' bone and ''Hips/Pelvis'' bone. You can map hips motion either to ''Root'' or to ''Hips/Pelvis''. This is useful for game engine characters, including standard Unity 3D Engine and Unreal Engine characters.&lt;br /&gt;
** Support for FBX format 7.5 (2016)&lt;br /&gt;
{{Note|Built-in rig for ''Blender'' has been removed, because there is no need in change of axes orientation for modern versions of Blender.}}&lt;br /&gt;
&lt;br /&gt;
* Allow to select flashlight color for marker detection during calibration (useful in case of light background).&lt;br /&gt;
* Added finger bones to motion transfer profile for Valve characters in SMD and DMX formats.&lt;br /&gt;
* Added hints about GPUs to progress bar area during tracking.&lt;br /&gt;
* Showing dialog with common actions available for the exported file after animation export and video export operations.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Program crashed in case of window resizing during video export.&lt;br /&gt;
* Program crashed on certain errors when opening target character and animations. Now errors are reported.&lt;br /&gt;
* Automation Add-on could hang in rare cases during events sending.&lt;br /&gt;
* Fixed GPU memory leaks on project open / close operations and during calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved automatic floor detection both for RGB cameras and depth sensors&lt;br /&gt;
* Replaced viewport repaint on every frame during tracking / refine / jitter removal to repaint by timer. May lead to slight speed increase on powerful GPUs.&lt;br /&gt;
* Improved tracking / refine / jitter removal speed calcualtion and changed formatting for speed values.&lt;br /&gt;
* Using FBX SDK 2017.1 for handling FBX files.&lt;br /&gt;
* Fixed speed degradation issue during calibration using board for depth projects.&lt;br /&gt;
* For multiple GPU configuration the old tracking algorithm is set to be used in case number of cameras is over 6. In most cases this is faster than using default tracking on single GPU. &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.16.212|Nov 29, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.4.16.212.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Import of target character crashed.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.15.211|Nov 29, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.4.15.211.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking worked incorrectly on Intel integrated graphics and some other weak video cards.&lt;br /&gt;
* Jitter removal / tracking hanged in rare cases.&lt;br /&gt;
* Incorrect pose visualized during tracking in the first frame of ''Region-of-Interest''.&lt;br /&gt;
* Tracking crashed with exception ''Wait for frame ... failed'' in rare cases.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Fixed GPU memory leaks.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.12.208|Oct 13, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.4.12.208.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Increased speed of tracking operations. &lt;br /&gt;
** Maximum speed increase (up to 3-4 times) is achieved at high-performance video cards for projects recorded with 1 or 2 Kinect sensors. &lt;br /&gt;
** For 4 or more Sony PS3 Eye cameras speed gain is lower and can reach 10 – 50% depending on particular tracking options and hardware configuration.&lt;br /&gt;
** For slow video cards speed increase is substantially lower. &lt;br /&gt;
** For projects recorded with many cameras tracking speed can even be lower compared to previous version on particular hardware configurations. You have the option to use the old tracking algorithm then (you can select this option in Advanced Tracking Settings section of the Tracking tab)&lt;br /&gt;
** For multiple GPU configuration the new algorithm will be used if number of cameras / sensors is not more than 4 (in this case only the primary GPU is used). In most cases this will still be faster than using multiple GPUs with the old tracking algorithm. For more than 4 cameras the old algorithm on multiple GPUs will be used, as a faster option. &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.10.206|Sep 23, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.10.206.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Jitter removal crashed on projects recorded with Kinect v1 containing RGB video information.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Further improvement of responsiveness of user interface during jitter removal on computers with slow video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.9.205|Sep 15, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.9.205.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Further increase of jitter removal speed. Improved algorithm is 10-20% faster compared to the previous release. Speed increase depends on particular hardware (GPU and CPU).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Biomech Add-on free trial activation did not work.&lt;br /&gt;
* Periodic Auto-Save did not work in jitter removal. Now the project is saved every 30 seconds.&lt;br /&gt;
* Memory leaks in jitter removal.&lt;br /&gt;
* Crashed if timeline slider is clicked during jitter removal or tracking operation.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved responsiveness of user interface during jitter removal on computers with slow video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.8.204|Sep 01, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.8.204.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Increased speed of jitter removal. New algorithm is 3-7 times faster compared to the previous one. Speed increase depends on particular hardware (GPU and CPU).&lt;br /&gt;
* Trajectory filter is improved for noisy data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking operations of multiple depth sensors projects failed with exception on some models of ''Nvidia'' cards using drivers 372.54, 372.70.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.7.203|Jul 14, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.7.203.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''iPi Automation Add-on''' released.&amp;lt;br&amp;gt;This tool allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending JSON commands via Windows dll. It can be used for:&lt;br /&gt;
** Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution;&lt;br /&gt;
** Automation of repeatable tasks;&lt;br /&gt;
** Automation of custom workflow.&lt;br /&gt;
{{Note|Add-on is not a free update and requires separate license key. 30-days free trial is [[iPi_Automation_Add-on#License_and_Trial|available]]. For more information please read [[iPi Automation Add-on]] documentation.}}&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.7.201|May 03, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.7.201.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Jitter Removal failed on some models of video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.6.200|Apr 25, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.6.200.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:.&lt;br /&gt;
* Increased tracking quality for actors with adjusted proportions.&lt;br /&gt;
* Allow opening of a processed [[.iPiMotion File Extension|'''.iPiMotion''']] file without video, for 3D data viewing.&lt;br /&gt;
* ''Hide Background'' option button / menu item for RGB video.&lt;br /&gt;
* Improved UI for light settings:&lt;br /&gt;
** Store light settings to scene file;&lt;br /&gt;
** Automatic loading of light settings from previous project when creating new project;&lt;br /&gt;
** ''Place Light to the Current Virtual Camera Position'' button added to Scene tab.&lt;br /&gt;
* No Auto-Play after project open.&lt;br /&gt;
* Calibration: UI enhancements for manual marking of ground points.&lt;br /&gt;
* Calibration: edit box for typing in camera height added.&lt;br /&gt;
* Control for manual alignment of coordinate system on the ''Scene'' tab.&lt;br /&gt;
* Biomech export: added lengths of body segments, eye positions.&lt;br /&gt;
* Support of Intel [http://www.intel.com/content/www/us/en/architecture-and-technology/realsense-longrange.html RealSense R200] sensor.&lt;br /&gt;
** Please be aware that R200 depth quality is lower compared to Kinect sensors so far, so tracking accuracy may deteriorate.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Calibration: additional ground detection quality check.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.5.193|Nov 19, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.5.193.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Using_Tracking_Data_from_Depth_Sensors|Improved workflow]] with the use of '''Kinect 2''' tracking data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Update target character pose after '''Refit Pose'''.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Do not auto play on project opening or after importing a target character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.4.191|Aug 24, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.4.191.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improvements in pose editing tools:&lt;br /&gt;
** Highlighting selectable objects (e.g. bones) on mouse hover;&lt;br /&gt;
** Rendering tool controls in front of all objects for ease of use;&lt;br /&gt;
** Displaying highlighted bone’s name in the bottom-right (previously, only selected bone’s name was displayed).&lt;br /&gt;
* Improvements in editing of motion profiles:&lt;br /&gt;
** Ability to select target bones directly from target character’s skeleton in the scene;&lt;br /&gt;
** Highlighting target character’s bones when scrolling through combo boxes in '''Target Bone''' column;&lt;br /&gt;
** Automatic assignment of symmetric bones (left/right).&lt;br /&gt;
* Minor improvements in rendering of the scene.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Compatibility of secondary GPUs is determined incorrectly.&lt;br /&gt;
* Application crashes when the Pose Mismatch view is activated on multiple GPUs.&lt;br /&gt;
* Initial length of ROI and Take 1 is defined improperly in projects created from records with non-standard frame rate (recorded after warning about low frame rate).&lt;br /&gt;
* Pose of target character is not updated when actor’s pose is manually edited while staying on the same frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.3.190|Aug 08, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.3.190.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Visual bone picker. Located in drop-down of the Select button in the top toolbar and on the Pose tab.&lt;br /&gt;
&lt;br /&gt;
[[File:release-notes-3.2.3.190-visual-bone-picker.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Performance degradation when using multiple GPUs in certain configurations.&lt;br /&gt;
* Sound controls are missing in the bottom toolbar for projects with audio data.&lt;br /&gt;
* Calibration freezes under rare conditions.&lt;br /&gt;
* Application crash during calibration when applying to an action video by mistake in certain situations.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved background subtraction for records made with Kinect 2 sensors to keep more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.2.189|Jun 17, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.2.189.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved color picture quality for PlayStation Eye cameras and Kinect v1 depth sensors.&lt;br /&gt;
* Dropped support for DirectX 10 video cards.&lt;br /&gt;
*: Previously many core operations like tracking were already unavailable for such cards. Now program will not run at all.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect marker detection during calibration on some records. Only AMD and Intel GPUs were affected.&lt;br /&gt;
* Incorrect character rendering on Intel HD4xxx series and above.&lt;br /&gt;
*: This issue may still occur on prolonged running of application. In this case restarting the application helps.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Some optimizations in usage of graphic resources.&lt;br /&gt;
* Correct installation of older version over newer one.&lt;br /&gt;
*: Previously uninstallation was required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.1.187|May 02, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.1.187.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Substantial speed-up of marker detection during the calibration. (Up to 3 times depending on hardware and settings).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* UI freezing when in the '''Pose Mismatch''' mode under certain conditions.&lt;br /&gt;
* Incorrect rendering of video frame on some video cards.&lt;br /&gt;
* Import of a target character with the same skeleton structure as the model in Mocap Studio results in error.&lt;br /&gt;
* Incorrect values displayed for occlusions percent in the calibration statistics.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.0.182|Apr 20, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.0.182.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added settings for adjusting proportions of the actor's model:&lt;br /&gt;
** legs length;&lt;br /&gt;
** arms length;&lt;br /&gt;
** shoulders width;&lt;br /&gt;
** head size;&lt;br /&gt;
** feet size.&lt;br /&gt;
* Layout of the '''Actor''' tab has been changed slightly.&lt;br /&gt;
* Settings for adjusting the size of a light marker in calibration projects.&lt;br /&gt;
* Improved automatic evaluation of calibration quality for multiple depth sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved processing of program crashes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.2.177|Mar 19, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.1.2.177.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Biomech Add-on''': added [[iPi_Biomech_Add-on#Export_Point_Cloud|point cloud export]] formats convenient for animators, including [http://www.thinkboxsoftware.com/krak-prt-11-file-format/ Krakatoa PRT], [http://en.wikipedia.org/wiki/PLY_(file_format) PLY], [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ], Leika PTS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.1.175|Feb 24, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.1.1.175.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New menu items '''View &amp;gt; Cameras''' and '''View &amp;gt; Source of Light''' allow to remove camera and source of light objects from 3D scene if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* FBX import and export do not support national (non-ASCII) characters in file path.&lt;br /&gt;
* Projects with three actors are always created in [[.iPiLocked File Extension|.iPiLocked format]] even in [http://ipisoft.com/software/pro-edition Pro edition].  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.0.173|Feb 20, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.1.0.173.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [http://ipisoft.com/software/basic-edition Basic] and [http://ipisoft.com/software/trial-edition Free Trial] editions now support up to '''six (6)''' color cameras like Sony PS3 Eye. In previous versions this limit was four (4).&lt;br /&gt;
* [http://ipisoft.com/software/pro-edition Pro] edition now supports up to '''sixteen (16)''' color cameras like Sony PS3 Eye. In previous versions this limit was eight (8).&lt;br /&gt;
* [http://ipisoft.com/software/pro-edition Pro] edition now supports up to '''four (4)''' depth sensors. In previous versions this limit was three (3).&lt;br /&gt;
* [http://ipisoft.com/software/pro-edition Pro] edition now supports up to '''three (3)''' actors tracking. In previous versions this limit was two (2).&lt;br /&gt;
*: {{Note|For three actors tracking it is highly recommended to use at least nine (9) color cameras like Sony PS3 Eye.}}&lt;br /&gt;
* '''Extended''' and '''Extreme''' calibration modes for complex cases.&lt;br /&gt;
* Bunch of minor improvements.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* In rare cases calibration results in upside down configuration.&lt;br /&gt;
* In rare cases '''Pause''' button is not clickable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.3.172|Jan 07, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.3.172.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved progress indication for some operations - for example, video export and data export in Biomech addon. Removed progress indication in the scene (the spinning &amp;quot;wheel&amp;quot;).&lt;br /&gt;
* Scaling the actor's model relative to the floor when adjusting its height.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* App crash during the calibration of dual Kinect 2 configuration using a board.&lt;br /&gt;
* App crash during the export of point cloud from Kinect 2.&lt;br /&gt;
* App crash when trying to remove an entry from the list of MRU hand poses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.2.171|Nov 26, 2014|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.2.171.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Additional improvements in calibration procedure:&lt;br /&gt;
** flashlight marker detection becomes faster and more robust;&lt;br /&gt;
** calibration of multiple Kinect 2 sensors with the aid of flashlight is now supported;&lt;br /&gt;
** undo/redo is now fully functional for calibration projects;&lt;br /&gt;
** automatic detection of ground points is slightly improved to become more reliable in complex cases.&lt;br /&gt;
* Options for FBX export:&lt;br /&gt;
** FBX version;&lt;br /&gt;
** Binary/ASCII format.&lt;br /&gt;
* Manual ground height fine-tuning for action projects ('''Scene''' tab).&lt;br /&gt;
* Message about incompatible video card on execution of Tracking / Refine / Refit Pose if video card is not '''DirectX 11''' capable.&lt;br /&gt;
* Reduced memory footprint.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* Binary format of project files is slightly changed. This version can open projects saved by previous versions. But previous versions are unable to open projects saved by this version.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking overrides key frames for hands.&lt;br /&gt;
* Wrong position of video billboard for projects from depth sensors when alignment of color video to depth is switched off.&lt;br /&gt;
* FBX import/export doesn't work in rear cases: OS is Windows 7 64-bit, Service Pack 1 is not installed, CPU supports AVX instructions set (e.g. Intel Core i3/i5/i7 Haswell).&lt;br /&gt;
* Fatal error &amp;quot;NullReferenceException&amp;quot; during application start up in rear cases.&lt;br /&gt;
* Minor bugs in visibility of imported character's bones and opacity of imported character's skin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.1.169|Nov 11, 2014|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.1.169.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Disabling tabs area and some keyboard shortcuts during processing to prevent unintentional interruption of operation.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Crash on start on hardware configurations with high resolution display and 2 GB (or less) video card.&lt;br /&gt;
* Processing speed degradation on Windows 7.&lt;br /&gt;
* Rare false failure of integrity check in certain environments.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.0.166|Nov 03, 2014|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.0.166.exe}}&lt;br /&gt;
&lt;br /&gt;
The first public release of [[iPi Mocap Studio|iPi Mocap Studio 3]]. If you're user of '''iPi Studio 2.x''' or '''iPi Studio 1.x''' then please visit [[Migration to V3 from Older Versions]] article.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support of new depth sensors: [[Depth Sensors Comparison|Kinect for Xbox One / Kinect 2 for Windows]].&lt;br /&gt;
* Improved calibration:&lt;br /&gt;
** more reliable;&lt;br /&gt;
** faster;&lt;br /&gt;
** automatic ground detection;&lt;br /&gt;
** calibration quality feedback.&lt;br /&gt;
* Improved tracking for arms and legs.&lt;br /&gt;
* Redesigned user interface.&lt;br /&gt;
* Comprehensive progress indicators.&lt;br /&gt;
* Improved user interface for animation export and motion transfer.&lt;br /&gt;
* More accurate center of mass calculation.&lt;br /&gt;
* Tons of minor improvements and fixes.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* New project file formats: [[.iPiVideo File Extension|.iPiVideo]], [[.iPiCalib File Extension|.iPiCalib]]  and [[.iPiLocked File Extension|.iPiLocked]]. V2 projects can be opened and stored to the new format.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Migration to DirectX 11.&lt;br /&gt;
* Moving to Microsoft .Net 4.5.1 Platform.&lt;br /&gt;
* Using new installation and auto-update system instead of buggy ClickOnce technology.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Recorder_Release_Notes</id>
		<title>iPi Recorder Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Recorder_Release_Notes"/>
				<updated>2020-02-28T12:29:35Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color:#222222; border:dashed 1px gray; padding:4pt; margin:0.5em; background-color:#FAFAFA&amp;quot;&amp;gt;&lt;br /&gt;
''Here you can find history of recent versions of [[iPi Recorder]].''&lt;br /&gt;
&lt;br /&gt;
''[[iPi Recorder]] has built-in auto update functionality. Auto update feature is configured so that checks for update are made once per day. It helps to reduce the start time of the application. If you want to update ASAP &amp;amp;mdash; you can use the '''Check for Update''' button on home screen.''&lt;br /&gt;
&lt;br /&gt;
''Note that both of these features require Internet connection. Alternatively (in case of troubles with auto update), you can download and run the updated installation program from [http://files.ipisoft.com/iPiRecorderSetup.exe direct link].''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.5.82|Feb 28, 2020|http://files.ipisoft.com/iPiRecorderSetup-4.4.5.82.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Video Builder''' now supports converting MKV videos recorded with Azure Kinect to iPiVideo format.&lt;br /&gt;
* Added automation commands to [[iPi_Automation_Add-on#start-broadcasting|start]]/[[iPi_Automation_Add-on#stop-broadcasting|stop]] broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]] in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash when receiving corrupted MJPEG frames from web cameras.&lt;br /&gt;
* Fixed app crash when playing back videos containing corrupted MJPEG frames.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.4.81|Oct 9, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.4.4.81.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Common &amp;quot;Darkening for Calibration&amp;quot; setting in toolbar area for '''Azure Kinect''' depth sensors. It is convenient for calibration of multiple '''Azure Kinect''' depth sensors using light marker (flashlight, PS Move).&lt;br /&gt;
* Command line argument &amp;lt;tt&amp;gt;--hide-recent-videos&amp;lt;/tt&amp;gt; to hide '''recent videos''' area and '''Browse...''' button on Home screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Bug fixes and accuracy improvements in broadcasting for [[Real-time Tracking for Live Preview|Live Preview]].&lt;br /&gt;
::{{Important|[[iPi Mocap Studio]] 4.3.0 or later is required.}}&lt;br /&gt;
* Corrections in behaviour of '''Exposure''' setting for '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Switching to version 1.2.0 of Azure Kinect Sensor SDK to communicate with '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.0.77|Aug 23, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.4.0.77.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''Azure Kinect''' depth sensor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.2.75|Aug 3, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.2.75.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed pairing of PS Move controllers broken in Windows 10 May 2019 Update (build 18362).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.1.74|May 16, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.1.74.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better quality of [https://en.wikipedia.org/wiki/Bayer_filter debayer] filter on exporting of video recorded from PS3 Eye webcams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.0.73|Mar 22, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.0.73.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for Nintendo Joy-Con motion controllers. At the moment this feature is considered experimental. Waiting for your feedback.&lt;br /&gt;
* Synchronization of videos based on audio data in '''Video Builder'''.&lt;br /&gt;
* Abort recording when a motion controller disconnects or otherwise goes in error status.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Proper display of error status for motion controllers and audio devices in device list.&lt;br /&gt;
* Prevent process hang-up after exit when using web cameras. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better handling and diagnostics for GPU compatibility issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.2.72|Feb 26, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.2.72.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Infinite continuous auto-refreshing of device list on home screen when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2 via UsbDk driver.&lt;br /&gt;
* Device lost during background evaluation when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with multiple Kinect v2 devices via UsbDk driver.&lt;br /&gt;
* Version of USB connection was not detected correctly for Intel RealSense D400 series depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.1.71|Feb 18, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.1.71.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Auto refresh of device list on connection/disconnection of USB devices. This saves from pressing '''Refresh Devices''' button in most times. Still, you may need this button sometimes.&lt;br /&gt;
* All cameras are selected by default on '''EDIT''' tab.&lt;br /&gt;
* Tip about proper settings for Logitech C922 camera.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* When using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2, disconnected devices were not removed from the device list.&lt;br /&gt;
* Application freezed when returning to the home screen after a web camera has been disconnected.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Updated used version of RealSense SDK 2.&lt;br /&gt;
* Updated used version of OpenNI and driver for Orbbec Astra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.0.70|Feb 5, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.0.70.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple Kinects v2 on a single PC. [[Multiple Kinects v2 on a Single PC|See details]] in docs.&lt;br /&gt;
* Support for multiple ASUS Xtion2 on a single PC. Also it does not conflict with Kinect v2 anymore.&lt;br /&gt;
* Selectively enable support for various camera types in '''Camera Types''' panel. Some camera types have conflicts in runtime, and this capability allows to resolve such issues by disabling unused camera types.&lt;br /&gt;
* '''Add Controller''' button changed to '''Add Device'''. Dropdown now includes all supported camera types to quickly enable support and obtain installation/connection instructions. Items for motion controllers behave as previously &amp;amp;mdash; run pairing wizard.&lt;br /&gt;
* Preserving audio when converting regular video files to .iPiVideo format.&lt;br /&gt;
* Added '''Sync by Flash''' button to the ribbon of '''Video Builder'''. It automatically detects flashes in all videos and attempts to synchronize them based on that data.&lt;br /&gt;
[[File:Add-Device-Kinect2-multiple.png|400px|center|Add Device dropdown]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.0.69|Dec 3, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.1.0.69.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple depth sensors in [[Real-time Tracking for Live Preview|live data streaming]]. Can be used in combination with [[Distributed Recording]].&lt;br /&gt;
* Support for [https://www.theverge.com/circuitbreaker/2017/10/3/16411466/sony-ps-move-controller-mini-usb-micro-playstation-vr new modification] of '''PS Move''' motion controllers:&lt;br /&gt;
** new model has '''CECH-ZCM2x''' label (previous model was '''CECH-ZCM1x'''),&lt;br /&gt;
** new model has micro-USB connection slot (previous model had mini-USB connection slot),&lt;br /&gt;
** this new model doesn't have magnetometer, but it looks like that is has better gyro-sensors and accelerometers, which provide rather precise data,&lt;br /&gt;
** for this reason we can recommend to use this model (it should be accurate enough for Motion Capture needs).&lt;br /&gt;
* Automatic video synchronization based on flashes in [[How_to_Build_Synced_Multi-Camera_Video|Build Combined Video]] tool.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.7.67|Sep 6, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.7.67.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Estimation and visualization of quality of [[How to Calibrate Camera Optics|camera optics calibration]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Cameras/depth sensors were not synchronized correctly during [[Distributed Recording]] under certain conditions.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.5.65|Aug 24, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.5.65.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Ask confirmation when leaving video builder and there are unsaved changes.&lt;br /&gt;
* '''Clear All''' command in video builder toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Builder UI was not properly updated after setting sync frame on a separate tab.&lt;br /&gt;
* Timeline selection interval was erroneously set from previous video builder session.&lt;br /&gt;
* Improved reliability around loading camera parameters.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.4.64|Aug 13, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.4.64.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[How to Build Synced Multi-Camera Video|Video builder]] now considers frame time stamps for better alignment of frames between videos.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Adjusting T-pose frames in skeleton tracks after synchronization in [[How to Build Synced Multi-Camera Video|video builder]].&lt;br /&gt;
* Fixed improper behavior of frame selection indicator in [[How to Calibrate Camera Optics|camera calibration tool]].&lt;br /&gt;
* RESULT tab in [[How to Calibrate Camera Optics|camera calibration tool]] did not hide when list of selected frames changed.&lt;br /&gt;
* Fixed app crash on startup due to error in initialization of Open NI 2. The error is usually caused by failure of ASUS Xtion 2 driver when other camera is connected (occurs for some camera models). &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.3.63|Jul 19, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.3.63.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation under rare conditions.&lt;br /&gt;
* Fixed app crash when stopping recording while in full screen mode.&lt;br /&gt;
* Fixed app crash when running second instance of the application under rare conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Automatically exit full screen mode on certain events.&lt;br /&gt;
* Show app crash report window for crashes occurred in app initialization.&lt;br /&gt;
* Updated OpenNI driver for ASUS Xtion2.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.1.61|Jul 03, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.1.61.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for the new depth sensors:&lt;br /&gt;
** Intel RealSense [https://realsense.intel.com/stereo/ D415&amp;amp;nbsp;/&amp;amp;nbsp;D435]&lt;br /&gt;
** Orbbec [http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra_p_12.html Astra] / [http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra-Pro_p_35.html Astra PRO]&lt;br /&gt;
** ASUS [https://www.asus.com/3D-Sensor/Xtion-2/ Xtion2]&lt;br /&gt;
* [[How to Calibrate Camera Optics|Tool for precise calibration of cameras]] that allows to determine camera internal parameters, including distortion.&lt;br /&gt;
* Powerful [[How to Build Synced Multi-Camera Video|video builder]], which allows to combine/edit video from different sources, (re)evaluate background, set/patch inter-cameras synchronization, etc.&lt;br /&gt;
* Support for [[Quick Start Guide for Multiple Action Cameras Configuration|workflow with action cameras]] like [https://shop.gopro.com/cameras GoPro] and [https://sjcam.com/ SJCAM].&lt;br /&gt;
* [[Real-time Tracking for Live Preview]]: live data streaming to [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Poor quality of Sony PS3 Eye video if Upside Down option set.&lt;br /&gt;
* Backround was not discarded in case of certain changes of the recording settings.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.2.57|Oct 23, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.2.57.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Сritical bug fix in depth sensors reinitialization after resetting of devices or returning from playback.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.1.56|Oct 13, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.1.56.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Workflow improvements for background evaluation in [[Distributed Recording|distributed recording]]:&lt;br /&gt;
** It is allowed to enter slave mode or connect to slaves without previously evaluating background.&lt;br /&gt;
** Running background evaluation on a master PC triggers evaluation on slave PCs as well. Thus there is no need to run background evaluation on slave PCs manually.&lt;br /&gt;
** Current percentage of background area is displayed in a status of a slave PC (minimum value among all cameras on this slave PC).&lt;br /&gt;
* Export of depth data from iPiVideo to series of PNG files. 16-bit grayscale colors represent depth values in millimeters.&lt;br /&gt;
:{{Note|For Kinect 2, a conversion table from depth space to camera space is exported into a TAB-separated text file along with depth data.}}&lt;br /&gt;
* Simple frame center marker introduced for alignment purposes has been replaced by a more useful alignment grid.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Ensure '''PLAY''' tab is activated first when opening a record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.0.55|Aug 14, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.0.55.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved performance with '''Logitech C922''' cameras.&lt;br /&gt;
* Workflow for opening a record for playback from '''Recording Results''' dialog is improved. Instead of '''HOME''' button, there is a '''BACK''' button to return to recording without losing previous recording state (like evaluated background). &lt;br /&gt;
* Option to mark centers of camera frames on '''SETUP''' screen. This may help with positioning of cameras. &lt;br /&gt;
* Statistics overlay control is hidden the same way as other controls when collapsed to not cover the bottom area of a frame. &lt;br /&gt;
* Asking confirmation on closing the application when recording is in process. &lt;br /&gt;
* New event ''recording-started'' in [[iPi Automation Add-on|Automation addon]].&lt;br /&gt;
* Hover toolbar in '''Recent Records''' list. It was available as context menu (on right click) previously. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Pressing '''PROPERTIES''' or '''CALIBRATE''' button in overlay controls now exits full screen mode automatically. &lt;br /&gt;
* Compatibility of supported compression modes is now considered when determining whether selected cameras are compatible. &lt;br /&gt;
* Fixed app crash when an error occurs on disconnecting web camera. &lt;br /&gt;
* '''Reset Devices''' command on '''RECORD''' screen now does not reset evaluated background.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Using GPU (supporting DirectX 11) for rendering camera streams. This improves overall performance during recording.&lt;br /&gt;
* Improved performance of the '''Trace''' window. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.11.53|Jun 12, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.11.53.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Calibration procedure did not finish with some PS Moves because they do not provide magnetic data. Now magnetic calibration can be skipped.&lt;br /&gt;
{{Note|It is not clear currently whether such PS Moves lack magnetometer completely or it is disabled. Without magnetic data, an orientation provided by controller will likely suffer more from the drift over time issue.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.9.51|Apr 28, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.9.51.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation with Xtion/Carmine depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.8.50|Apr 25, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.8.50.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@90fps''' and '''1920x1080@90fps''' modes of '''Logitech BRIO''' webcam.&lt;br /&gt;
* For depth sensors (Kinect, Kinect v2, Xtion, PrimeSense): checking floor detection quality during background evaluation, warning user about bad floor visibility.&lt;br /&gt;
* Making photo from web camera or depth sensor (copying of current image from video source to clipboard).&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] updated to manage [[Distributed Recording]]:&lt;br /&gt;
** Added [[iPi_Automation_Add-on#discover-slaves|discover-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#connect-to-slaves|connect-to-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#disconnect-from-slaves|disconnect-from-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#enter-slave-mode|enter-slave-mode]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#exit-slave-mode|exit-slave-mode]] command&lt;br /&gt;
** '''recording-stopped''' event has got a new argument '''slaveResults''' which holds some details about the results of distributed recording on slave PCs.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: ensure correspondence of devices/screens order in UI and items order in the result of [[iPi_Automation_Add-on#get-devices-state|get-devices-state]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: argument '''selectedDevices''' of [[iPi_Automation_Add-on#open-recorder|open-recorder]] command was ignored. Now it works and items order in '''selectedDevices''' defines devices/screens order in UI.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] could hang in rare cases during events sending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.7.49|Mar 07, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.7.49.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@60fps''' mode of '''Logitech C922 Pro Stream''' webcam.&lt;br /&gt;
* Filtering out webcam device for Kinect v2 sensor which appeared after recent Windows updates. This prevents confusion when recording with a &amp;quot;Kinect&amp;quot; camera produces a video without depth data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed incorrect handling of skeletal data while saving edited videos.&lt;br /&gt;
* Fixed storing of incorrect device parameters in record after hot-swapping Kinect v2 sensors while Recorder is running.&lt;br /&gt;
* Fixed some visual glitches of the ribbon in collapsed state.&lt;br /&gt;
* Fixed cropping of camera screens on window resize occurring under certain conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved performance of calculation of background area statistics.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.6.48|Jan 25, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.6.48.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automation Add-on: added [[iPi_Automation_Add-on#merge-videos|merge-videos]] command.&lt;br /&gt;
* Warning about possible performance issues on '''RECORD''' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Results of some checks on recording start were ignored. For instance, recording started after user answered '''No''' when presented a warning about low FPS.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.5.47|Nov 10, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.2.5.47.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Pairing of Sony PS Move controllers on Windows 8/10 using standard Bluetooth drivers, without the need to use ''Motion in Joy'' third-party drivers.&lt;br /&gt;
* Automation Add-on: added ''forceStart'' flag to [[iPi_Automation_Add-on#start-recording|start-recording]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* In case of people detection during background recording with Kinect v2 user's choice to use or discard recorded background was processed incorrectly.&lt;br /&gt;
* Software crashed after pressing ''Reset'' button on ''RECORD'' screen when Kinects were used for recording.&lt;br /&gt;
* Software crashed in some cases on start of distributed recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.3.45|Jul 14, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.2.3.45.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''iPi Automation Add-on''' released.&amp;lt;br&amp;gt;This tool allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending JSON commands via Windows dll. It can be used for:&lt;br /&gt;
** Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution;&lt;br /&gt;
** Automation of repeatable tasks;&lt;br /&gt;
** Automation of custom workflow.&lt;br /&gt;
{{Note|Add-on is not a free update and requires separate license key. 30-days free trial is [[iPi_Automation_Add-on#License_and_Trial|available]]. For more information please read [[iPi Automation Add-on]] documentation.}}&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.4.43|Apr 25, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.1.4.43.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Show statistics of background quality (background area percentage).&lt;br /&gt;
* Detecting substantial change of background that may deteriorate tracking quality.&lt;br /&gt;
* Show ‘green screen’ (Hide Background) during recording.&lt;br /&gt;
* Support of Intel [https://ark.intel.com/products/92256/Intel-RealSense-Camera-R200 RealSense R200] sensor. &lt;br /&gt;
** Please be aware that R200 depth quality is lower compared to Kinect sensors so far, so tracking accuracy may deteriorate. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Performance optimizations for recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.3.38|Nov 19, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.3.38.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Recording '''Kinect 2''' tracking data for [[Using_Tracking_Data_from_Depth_Sensors|further usage]] in '''iPi Mocap Studio'''.&lt;br /&gt;
* Detecting if several '''Kinect 2''' sensors are connected to the same PC.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Decreased background subtraction threshold for '''Kinect 2''' sensors.&lt;br /&gt;
* Memory usage optimizations.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.2.36|Jun 18, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.2.36.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Resetting previously evaluated background when camera properties are changed on the Setup stage.&lt;br /&gt;
* Export of audio data with a separate button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Frequent ‘Camera hang detected’ errors on recording start with large number of cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Correct installation of older version over newer one.&lt;br /&gt;
*: Previously uninstallation was required.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.1.34|Mar 06, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.1.34.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automatic selection of available TCP ports for [[Distributed Recording]] if default values ('''31415''' and '''31416''') are in use by other applications.&lt;br /&gt;
* Displaying tips with important info. Click to hide.&lt;br /&gt;
* Filtering out corrupted/absent files in the list of recent records.&lt;br /&gt;
* Improved computation of remaining time when downloading from multiple slaves.&lt;br /&gt;
* Improved error handling in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Progress indication on taskbar icon is not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Partially downloaded records are not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Incorrect timing of records under rare conditions.&lt;br /&gt;
* Order of cameras may differ in records when using multiple slaves.&lt;br /&gt;
* Cancelling recording while counting down leads to app crash.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.0.33|Dec 29, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.1.0.33.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Distributed Recording]] which provides the ability to record synchronized video from multiple devices connected to several computers. Using this feature now one can use multiple '''MS Kinect 2''' sensors for tracking.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Video editing and export were not allowed for four-cameras video in [http://ipisoft.com/software/basic-edition/ Basic Edition].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.1.32|Nov 13, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.0.1.32.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Application crash if at least one motion controller (PS Move or Wii Remote) is selected for recording.&lt;br /&gt;
* Export and video editing were erroneously disabled for free trial.&lt;br /&gt;
* Rare false failure of integrity check in certain environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.0.31|Nov 03, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.0.0.31.exe}}&lt;br /&gt;
&lt;br /&gt;
The first public release of [[iPi Recorder|iPi Recorder 3]]. If you're user of '''iPi Recorder 2.x''' or '''iPi Recorder 1.x''' then please visit [[Migration to V3 from Older Versions]] article.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Depth Sensors Comparison|Kinect for Xbox One / Kinect 2 for Windows support]].&lt;br /&gt;
* Redesigned user interface based on [http://en.wikipedia.org/wiki/Ribbon_(computing) Ribbon concept].&lt;br /&gt;
* [[.iPiVideo File Extension|.iPiVideo]] records editing (cutting, removing cameras, etc.).&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Audio and video export.&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Shell Extension for [[.iPiVideo File Extension|iPiVideo]] files which provides thumbnails and preview functionality for [[.iPiVideo File Extension|iPiVideo]] files in Windows Explorer and Open/Save dialogs.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* [[.iPiVideo File Extension|iPiVideo]] records produced by [[iPi Recorder|iPi Recorder 3]] can't be opened in [http://wiki.ipisoft.com/IPi_Recorder iPi Recorder '''2'''] and [http://wiki.ipisoft.com/IPi_Mocap_Studio iPi Mocap Studio '''2'''].&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Windows XP and Windows Vista. It requires Windows 7 or 8.&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Kinect SDK 1.6, Kinect SDK 1.7 and usage of '''psdrv3''' drivers to work with MS Kinect / MS Kinect for XBOX 360. The only option for these devices is to use Kinect SDK 1.8.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Moving to Microsoft .Net 4.5.1 Platform.&lt;br /&gt;
* Using new installation and auto-update system instead of buggy ClickOnce technology.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Mocap_Studio_Release_Notes</id>
		<title>iPi Mocap Studio Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Mocap_Studio_Release_Notes"/>
				<updated>2020-02-28T12:27:51Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color:#333333; border:dashed 1px gray; padding:4pt; margin:0.5em; background-color:#FAFAFA&amp;quot;&amp;gt;&lt;br /&gt;
''Here you can find history of recent versions of [[iPi Mocap Studio]].''&lt;br /&gt;
&lt;br /&gt;
''[[iPi Mocap Studio]] has built-in auto update functionality. Auto update feature is configured so that checks for update are made once per day. It helps to reduce the start time of the application. If you want to update ASAP &amp;amp;mdash; you can use the '''Help &amp;gt; Check for Update''' menu item.''&lt;br /&gt;
&lt;br /&gt;
''Note that both of these features require Internet connection. Alternatively (in case of troubles with auto update), you can download and run the updated installation program from [http://files.ipisoft.com/iPiMocapStudioSetup.exe direct link].''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.1.240|Feb 28, 2020|http://files.ipisoft.com/iPiMocapStudioSetup-4.3.1.240.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added [[iPi Automation Add-on#Live (Real-Time) Session Commands|automation commands]] to control [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
* Added [[iPi Automation Add-on#start-streaming-animation|automation commands]] to control [[Streaming to Unity|streaming of animation]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash during long live sessions.&lt;br /&gt;
* Fixed app crash when iPiVideo contains corrupted MJPEG frames.&lt;br /&gt;
* Fixed improper work of [[iPi Automation Add-on#load-target-character|load-target-character]] automation command with '''filePath''' argument.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.0.239|Oct 9, 2019|http://files.ipisoft.com/iPiMocapStudioSetup-4.3.0.239.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Animation Streaming''' from [[iPi Mocap Studio]] to Unity. For details see [[Streaming to Unity]].&lt;br /&gt;
[[File:export-tab-streaming.png|300px]]&lt;br /&gt;
* Foot tracking improved for depth sensors.&lt;br /&gt;
* Distance between two arbitrary cameras can be controlled in Calibration projects for multiple RGB cameras (see table under '''Scale''' slider on '''Calibration''' tab).&lt;br /&gt;
* Improvements in [[Real-time Tracking for Live Preview]]:&lt;br /&gt;
** Significant progress in accuracy and stability.&lt;br /&gt;
** High/Low resolution setting.&lt;br /&gt;
** On the fly trajectory filtering (smoothing) during Live Preview.&lt;br /&gt;
** Restoring Live settings from the last session.&lt;br /&gt;
** Better visibility of point cloud during Live Preview.&lt;br /&gt;
** [[Streaming to Unity]] is available for Live Preview. Thus, one can see real-time live feedback right inside Unity.&lt;br /&gt;
:: {{Important|[[iPi Recorder]] 4.4.4 or later is required.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.0.235|Aug 23, 2019|http://files.ipisoft.com/iPiMocapStudioSetup-4.2.0.235.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for videos recorded with '''Azure Kinect''' depth sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved rendering smoothness during live tracking.&lt;br /&gt;
* Minor improvement in the quality of board calibration.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.3.233|May 16, 2019|http://files.ipisoft.com/iPiMocapStudioSetup-4.1.3.233.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Built-in support for Unreal Engine 4 - compatible characters:&lt;br /&gt;
*# You can either import your character from FBX file in [[iPi Mocap Studio]]. If your character skeleton follows Unreal Mannequin structure and naming conventions, motion-transfer profile will be automatically generated. After that you just export animation in FBX format in [[iPi Mocap Studio]] and import it in Unreal Engine.&lt;br /&gt;
*#* {{Tip|This way is recommended because it works for all human-like characters regardless their proportions.}}&lt;br /&gt;
*# Or you can just choose '''UE4 Mannequin''' item from top part of '''Target character''' drop-down menu on '''Export''' tab in [[iPi Mocap Studio]], then you can export animation in FBX format and import result in Unreal Engine.&lt;br /&gt;
*#* {{Note|This way is usable only for characters with default Unreal Engine proportions.}}&lt;br /&gt;
* Selection from compatible motion transfer profiles when importing target character.&lt;br /&gt;
* New features in '''Motion Transfer Profile''':&lt;br /&gt;
** button to auto determine orientation of target character&lt;br /&gt;
** button to clear motion transfer profile&lt;br /&gt;
** slight redesign of controls layout&lt;br /&gt;
** improved tips&lt;br /&gt;
&lt;br /&gt;
[[File:studio-transfer-profile-new-features-4-1-3.png|280px]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Accuracy issue in [https://en.wikipedia.org/wiki/Euler_angles Euler Angles] math (near [https://en.wikipedia.org/wiki/Gimbal_lock Gimbal Lock]). Results in minor short-term jitter of exported animation in some rear cases.&lt;br /&gt;
* Incorrect animation export for FBX models which have non-zero pre/post translation transformations for model node(s).&lt;br /&gt;
* Losing info about gyro sensors when opening project without a video.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Checking that primary GPU is not software emulation and is not '''Microsoft Basic Render Driver'''.&lt;br /&gt;
* Suppress adding to MRU list of target characters if animation was opened using '''Open Animation''' menu item.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.1.231|Dec 27, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.1.1.231.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Introduced ''Distribute rotation between Head and Neck'' setting for [[Motion_Controllers#Head_Rotation|Motion Controllers]].&lt;br /&gt;
* Support for Biomech export operations in [[Batch Processing]].&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.0.230|Dec 03, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.1.0.230.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple depth sensors in [[Real-time Tracking for Live Preview]]. Can be used in combination with [[Distributed Recording]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Twist angle over 180 degrees for hands, feet and head under certain condition.&lt;br /&gt;
* Minor bug fixes in [[Real-time Tracking for Live Preview]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Based on users feedback, we turned off rotation distribution between head and neck joints when data from motion controller is applied to head. (This distribution was introduced in version 4.0.0.223.)&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.3.226|Sep 06, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.3.226.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Using head and hand orientations set from motion controllers during ''Refine'' that allows to improve tracking in some cases.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Crash in tracking after deletion of all animation within ROI.&lt;br /&gt;
* Occasional tracking failures if tracking is applied to new project without saving it.&lt;br /&gt;
* Occasional incorrect hands orientations after tracking or jitter removal if motion controllers data were applied.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better tracking of complex legs or arms poses in some cases.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.2.225|Aug 17, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.2.225.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Removing parasite limbs twists that may appear after ''Jitter Removal'' application.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Removed ''Trajectory Filter'' slider from ''Live'' tab as this setting is not used during live tracking.&lt;br /&gt;
* Disable ''Auto adjust camera FOV'' option for calibration projects recorded with action cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Slightly increased accuracy of removing parasite limbs twists when limbs are nearly straight.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.1.224|Jul 26, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.1.224.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed hand joint rotation tool issues.&lt;br /&gt;
* Removed ''Jitter Removal'' dependence from ''Individual Body Parts Tracking'' options.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved limbs tracking that removes parasite limbs twists when limbs are nearly straight.&lt;br /&gt;
* Increased accuracy of tracking algorithm in some cases due to use of improved joint limits.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.0.223|Jul 03, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-4.0.0.223.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Real-time Tracking for Live Preview]] added.&lt;br /&gt;
:{{Note|Supported in '''Basic''' and '''Pro''' editions.}}&lt;br /&gt;
* [http://docs.ipisoft.com/User_Guide_for_Multiple_PS_Eye_Cameras_Configuration#Individual_body_parts_tracking Individual body parts tracking] for post-processing.&lt;br /&gt;
* Improved tracking with the use of motion controllers.&lt;br /&gt;
** Joint limits are taken into account when applying motion controllers data to avoid physically impossible joint orientations.&lt;br /&gt;
** Rotations are distributed between head and neck joints when tracking head.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved background calculation for noisy depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.6.222|Mar 06, 2018|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.6.222.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New '''calibration algorithm''' for depth sensors / light marker method.&lt;br /&gt;
** Higher speed.&lt;br /&gt;
** Slightly better accuracy.&lt;br /&gt;
* New/enhanced automation commands:&lt;br /&gt;
** '''get-actor-props'''; '''get-pose-mismatch'''; additional parameters for '''set-actor-props'''.&lt;br /&gt;
** '''recenter-coordinates-on-character'''; '''move-coordinate-system'''.&lt;br /&gt;
** '''export-video'''; ''videoFilePath'' parameter in '''open-project''' command.&lt;br /&gt;
* Added option to take .iPiVideo from project directory if .iPiVideo is not found.&lt;br /&gt;
* Allow fractional values for target FPS in Export Options dialog.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect Biomech export for multiple actors; first actor exported correctly, other actors used bone lengths of first actor.&lt;br /&gt;
* Uneven shoulder height was set for some imported characters.&lt;br /&gt;
* Taking into account target character transform when exporting cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Auto adjust camera FOV is checked by default for calibration project (in case when all RGB cameras have the same model).&lt;br /&gt;
* FBX import: improved search for a root node.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.4.220|Jun 17, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.4.220.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Export Options''' dialog is now shown for any file format after a destination file is selected. '''Recenter coordinates on character''' and '''Export T-pose in the first frame''' options moved to this dialog (they affect exported animation only). '''Advanced motion transfer''' option is left on the '''Export''' tab (it affects both preview in program and exported animation), but moved up, just below '''Show target character''' option.&lt;br /&gt;
* Option for setting the frame rate of an exported animation is added to the '''Export Options''' dialog.&lt;br /&gt;
* Export of cameras is available for COLLADA format.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect vertical positioning of built-in rigs for Motion Builder and 3ds Max.&lt;br /&gt;
* Incorrect positioning of skeleton when exporting with default rig in some situations.&lt;br /&gt;
* Values for selected bone were not displayed on the '''Pose''' tab (introduced in 3.6.0).&lt;br /&gt;
* App crash on project opening under certain circumstances.&lt;br /&gt;
* Motion transfer profile was not saved automatically after changing target character’s orientation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.3.219|May 29, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.3.219.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Applying data from motion controllers fails after saving a project.&lt;br /&gt;
* A number of bugs with '''Move Coordinate System''' tool:&lt;br /&gt;
** App crash&lt;br /&gt;
** Frames with default pose were transformed&lt;br /&gt;
** Visual glitches&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.2.218|May 26, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.2.218.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Exported animation always has default 30 FPS (introduced in v3.6.0.216).&lt;br /&gt;
* Changes in actor appearance are not applied to the target character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.1.217|May 25, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.1.217.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
&lt;br /&gt;
* Crash of license activation during application start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.6.0.216|May 25, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.6.0.216.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New calibration algorithm for the light marker method.&lt;br /&gt;
** Vastly greater speed&lt;br /&gt;
** Slightly better accuracy&lt;br /&gt;
{{Tip|In case of problems with the new algorithm, you can revert to using the old algorithm. Check '''Use old calibration algorithm''' in '''Manual Calibration Adjustments &amp;gt; Advanced Calibration Settings''' section on the '''Calibration''' tab.}}&lt;br /&gt;
* Including cameras into exported animations in FBX format (optional).&lt;br /&gt;
* Vastly increased the speed of applying data from motion controllers.&lt;br /&gt;
* Automation add-on:&lt;br /&gt;
** Added '''useFastTrackingAlgorithm''' field to the arguments of '''set-tracking-props''' command and to the result of '''get-tracking-props''' command.&lt;br /&gt;
** Added '''markerColor''' field to the arguments of '''run-calibration''' command.&lt;br /&gt;
** Changed default value of '''autoDetectInitialCameraPositions''' field in '''create-project''' command to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Biomech add-on: Unchecking '''Export RGB''' checkbox when there is no color data.&lt;br /&gt;
* Fixed app crash after opening project under certain conditions.&lt;br /&gt;
* Fixed displaying of warnings on the '''Calibration''' tab at improper moments.&lt;br /&gt;
* Task dialogs after animation/video export were modeless.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.5.1.215|Apr 23, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.5.1.215.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Wrong scale in exported DMX animation (see [http://forum.ipisoft.com/viewtopic.php?f=5&amp;amp;t=9756 forum message]).&lt;br /&gt;
* Program crashed on importing character having same-named bones.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.5.0.214|Apr 19, 2017|http://files.ipisoft.com/iPiMocapStudioSetup-3.5.0.214.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New fast tracking algorithm for depth sensors (BETA version). To use it, turn on ''Use fast tracking algorithm (BETA)'' checkbox on ''Tracking'' tab.&lt;br /&gt;
** Tracking speed increase is up to 2.5 times depending on particular hardware and tracking options.&lt;br /&gt;
** Available for single-actor projects, and single-GPU configurations.&lt;br /&gt;
{{Tip|If you use 2 GPUs for tracking, you need to turn it off by unchecking second GPU via ''Help &amp;gt; Manage GPU Usage'' menu.}}&lt;br /&gt;
&lt;br /&gt;
* Improvements in animation export.&lt;br /&gt;
** New control on ''Export'' tab to rotate imported characters into proper orientation. This is useful for many popular characters, including standard Unreal Engine character.&lt;br /&gt;
** The motion is now correctly transferred to imported characters with separate ''Root'' bone and ''Hips/Pelvis'' bone. You can map hips motion either to ''Root'' or to ''Hips/Pelvis''. This is useful for game engine characters, including standard Unity 3D Engine and Unreal Engine characters.&lt;br /&gt;
** Support for FBX format 7.5 (2016)&lt;br /&gt;
{{Note|Built-in rig for ''Blender'' has been removed, because there is no need in change of axes orientation for modern versions of Blender.}}&lt;br /&gt;
&lt;br /&gt;
* Allow to select flashlight color for marker detection during calibration (useful in case of light background).&lt;br /&gt;
* Added finger bones to motion transfer profile for Valve characters in SMD and DMX formats.&lt;br /&gt;
* Added hints about GPUs to progress bar area during tracking.&lt;br /&gt;
* Showing dialog with common actions available for the exported file after animation export and video export operations.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Program crashed in case of window resizing during video export.&lt;br /&gt;
* Program crashed on certain errors when opening target character and animations. Now errors are reported.&lt;br /&gt;
* Automation Add-on could hang in rare cases during events sending.&lt;br /&gt;
* Fixed GPU memory leaks on project open / close operations and during calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved automatic floor detection both for RGB cameras and depth sensors&lt;br /&gt;
* Replaced viewport repaint on every frame during tracking / refine / jitter removal to repaint by timer. May lead to slight speed increase on powerful GPUs.&lt;br /&gt;
* Improved tracking / refine / jitter removal speed calcualtion and changed formatting for speed values.&lt;br /&gt;
* Using FBX SDK 2017.1 for handling FBX files.&lt;br /&gt;
* Fixed speed degradation issue during calibration using board for depth projects.&lt;br /&gt;
* For multiple GPU configuration the old tracking algorithm is set to be used in case number of cameras is over 6. In most cases this is faster than using default tracking on single GPU. &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.16.212|Nov 29, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.4.16.212.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Import of target character crashed.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.15.211|Nov 29, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.4.15.211.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking worked incorrectly on Intel integrated graphics and some other weak video cards.&lt;br /&gt;
* Jitter removal / tracking hanged in rare cases.&lt;br /&gt;
* Incorrect pose visualized during tracking in the first frame of ''Region-of-Interest''.&lt;br /&gt;
* Tracking crashed with exception ''Wait for frame ... failed'' in rare cases.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Fixed GPU memory leaks.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.4.12.208|Oct 13, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.4.12.208.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Increased speed of tracking operations. &lt;br /&gt;
** Maximum speed increase (up to 3-4 times) is achieved at high-performance video cards for projects recorded with 1 or 2 Kinect sensors. &lt;br /&gt;
** For 4 or more Sony PS3 Eye cameras speed gain is lower and can reach 10 – 50% depending on particular tracking options and hardware configuration.&lt;br /&gt;
** For slow video cards speed increase is substantially lower. &lt;br /&gt;
** For projects recorded with many cameras tracking speed can even be lower compared to previous version on particular hardware configurations. You have the option to use the old tracking algorithm then (you can select this option in Advanced Tracking Settings section of the Tracking tab)&lt;br /&gt;
** For multiple GPU configuration the new algorithm will be used if number of cameras / sensors is not more than 4 (in this case only the primary GPU is used). In most cases this will still be faster than using multiple GPUs with the old tracking algorithm. For more than 4 cameras the old algorithm on multiple GPUs will be used, as a faster option. &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.10.206|Sep 23, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.10.206.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Jitter removal crashed on projects recorded with Kinect v1 containing RGB video information.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Further improvement of responsiveness of user interface during jitter removal on computers with slow video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.9.205|Sep 15, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.9.205.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Further increase of jitter removal speed. Improved algorithm is 10-20% faster compared to the previous release. Speed increase depends on particular hardware (GPU and CPU).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Biomech Add-on free trial activation did not work.&lt;br /&gt;
* Periodic Auto-Save did not work in jitter removal. Now the project is saved every 30 seconds.&lt;br /&gt;
* Memory leaks in jitter removal.&lt;br /&gt;
* Crashed if timeline slider is clicked during jitter removal or tracking operation.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved responsiveness of user interface during jitter removal on computers with slow video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.8.204|Sep 01, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.8.204.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Increased speed of jitter removal. New algorithm is 3-7 times faster compared to the previous one. Speed increase depends on particular hardware (GPU and CPU).&lt;br /&gt;
* Trajectory filter is improved for noisy data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking operations of multiple depth sensors projects failed with exception on some models of ''Nvidia'' cards using drivers 372.54, 372.70.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.7.203|Jul 14, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.3.7.203.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''iPi Automation Add-on''' released.&amp;lt;br&amp;gt;This tool allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending JSON commands via Windows dll. It can be used for:&lt;br /&gt;
** Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution;&lt;br /&gt;
** Automation of repeatable tasks;&lt;br /&gt;
** Automation of custom workflow.&lt;br /&gt;
{{Note|Add-on is not a free update and requires separate license key. 30-days free trial is [[iPi_Automation_Add-on#License_and_Trial|available]]. For more information please read [[iPi Automation Add-on]] documentation.}}&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.7.201|May 03, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.7.201.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Jitter Removal failed on some models of video cards.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.6.200|Apr 25, 2016|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.6.200.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:.&lt;br /&gt;
* Increased tracking quality for actors with adjusted proportions.&lt;br /&gt;
* Allow opening of a processed [[.iPiMotion File Extension|'''.iPiMotion''']] file without video, for 3D data viewing.&lt;br /&gt;
* ''Hide Background'' option button / menu item for RGB video.&lt;br /&gt;
* Improved UI for light settings:&lt;br /&gt;
** Store light settings to scene file;&lt;br /&gt;
** Automatic loading of light settings from previous project when creating new project;&lt;br /&gt;
** ''Place Light to the Current Virtual Camera Position'' button added to Scene tab.&lt;br /&gt;
* No Auto-Play after project open.&lt;br /&gt;
* Calibration: UI enhancements for manual marking of ground points.&lt;br /&gt;
* Calibration: edit box for typing in camera height added.&lt;br /&gt;
* Control for manual alignment of coordinate system on the ''Scene'' tab.&lt;br /&gt;
* Biomech export: added lengths of body segments, eye positions.&lt;br /&gt;
* Support of Intel [http://www.intel.com/content/www/us/en/architecture-and-technology/realsense-longrange.html RealSense R200] sensor.&lt;br /&gt;
** Please be aware that R200 depth quality is lower compared to Kinect sensors so far, so tracking accuracy may deteriorate.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Calibration: additional ground detection quality check.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.5.193|Nov 19, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.5.193.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Using_Tracking_Data_from_Depth_Sensors|Improved workflow]] with the use of '''Kinect 2''' tracking data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Update target character pose after '''Refit Pose'''.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Do not auto play on project opening or after importing a target character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.4.191|Aug 24, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.4.191.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improvements in pose editing tools:&lt;br /&gt;
** Highlighting selectable objects (e.g. bones) on mouse hover;&lt;br /&gt;
** Rendering tool controls in front of all objects for ease of use;&lt;br /&gt;
** Displaying highlighted bone’s name in the bottom-right (previously, only selected bone’s name was displayed).&lt;br /&gt;
* Improvements in editing of motion profiles:&lt;br /&gt;
** Ability to select target bones directly from target character’s skeleton in the scene;&lt;br /&gt;
** Highlighting target character’s bones when scrolling through combo boxes in '''Target Bone''' column;&lt;br /&gt;
** Automatic assignment of symmetric bones (left/right).&lt;br /&gt;
* Minor improvements in rendering of the scene.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Compatibility of secondary GPUs is determined incorrectly.&lt;br /&gt;
* Application crashes when the Pose Mismatch view is activated on multiple GPUs.&lt;br /&gt;
* Initial length of ROI and Take 1 is defined improperly in projects created from records with non-standard frame rate (recorded after warning about low frame rate).&lt;br /&gt;
* Pose of target character is not updated when actor’s pose is manually edited while staying on the same frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.3.190|Aug 08, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.3.190.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Visual bone picker. Located in drop-down of the Select button in the top toolbar and on the Pose tab.&lt;br /&gt;
&lt;br /&gt;
[[File:release-notes-3.2.3.190-visual-bone-picker.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Performance degradation when using multiple GPUs in certain configurations.&lt;br /&gt;
* Sound controls are missing in the bottom toolbar for projects with audio data.&lt;br /&gt;
* Calibration freezes under rare conditions.&lt;br /&gt;
* Application crash during calibration when applying to an action video by mistake in certain situations.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved background subtraction for records made with Kinect 2 sensors to keep more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.2.189|Jun 17, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.2.189.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved color picture quality for PlayStation Eye cameras and Kinect v1 depth sensors.&lt;br /&gt;
* Dropped support for DirectX 10 video cards.&lt;br /&gt;
*: Previously many core operations like tracking were already unavailable for such cards. Now program will not run at all.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Incorrect marker detection during calibration on some records. Only AMD and Intel GPUs were affected.&lt;br /&gt;
* Incorrect character rendering on Intel HD4xxx series and above.&lt;br /&gt;
*: This issue may still occur on prolonged running of application. In this case restarting the application helps.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Some optimizations in usage of graphic resources.&lt;br /&gt;
* Correct installation of older version over newer one.&lt;br /&gt;
*: Previously uninstallation was required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.1.187|May 02, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.1.187.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Substantial speed-up of marker detection during the calibration. (Up to 3 times depending on hardware and settings).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* UI freezing when in the '''Pose Mismatch''' mode under certain conditions.&lt;br /&gt;
* Incorrect rendering of video frame on some video cards.&lt;br /&gt;
* Import of a target character with the same skeleton structure as the model in Mocap Studio results in error.&lt;br /&gt;
* Incorrect values displayed for occlusions percent in the calibration statistics.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.0.182|Apr 20, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.2.0.182.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added settings for adjusting proportions of the actor's model:&lt;br /&gt;
** legs length;&lt;br /&gt;
** arms length;&lt;br /&gt;
** shoulders width;&lt;br /&gt;
** head size;&lt;br /&gt;
** feet size.&lt;br /&gt;
* Layout of the '''Actor''' tab has been changed slightly.&lt;br /&gt;
* Settings for adjusting the size of a light marker in calibration projects.&lt;br /&gt;
* Improved automatic evaluation of calibration quality for multiple depth sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved processing of program crashes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.2.177|Mar 19, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.1.2.177.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Biomech Add-on''': added [[iPi_Biomech_Add-on#Export_Point_Cloud|point cloud export]] formats convenient for animators, including [http://www.thinkboxsoftware.com/krak-prt-11-file-format/ Krakatoa PRT], [http://en.wikipedia.org/wiki/PLY_(file_format) PLY], [http://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ], Leika PTS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.1.175|Feb 24, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.1.1.175.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* New menu items '''View &amp;gt; Cameras''' and '''View &amp;gt; Source of Light''' allow to remove camera and source of light objects from 3D scene if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* FBX import and export do not support national (non-ASCII) characters in file path.&lt;br /&gt;
* Projects with three actors are always created in [[.iPiLocked File Extension|.iPiLocked format]] even in [http://ipisoft.com/software/pro-edition Pro edition].  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.0.173|Feb 20, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.1.0.173.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [http://ipisoft.com/software/basic-edition Basic] and [http://ipisoft.com/software/trial-edition Free Trial] editions now support up to '''six (6)''' color cameras like Sony PS3 Eye. In previous versions this limit was four (4).&lt;br /&gt;
* [http://ipisoft.com/software/pro-edition Pro] edition now supports up to '''sixteen (16)''' color cameras like Sony PS3 Eye. In previous versions this limit was eight (8).&lt;br /&gt;
* [http://ipisoft.com/software/pro-edition Pro] edition now supports up to '''four (4)''' depth sensors. In previous versions this limit was three (3).&lt;br /&gt;
* [http://ipisoft.com/software/pro-edition Pro] edition now supports up to '''three (3)''' actors tracking. In previous versions this limit was two (2).&lt;br /&gt;
*: {{Note|For three actors tracking it is highly recommended to use at least nine (9) color cameras like Sony PS3 Eye.}}&lt;br /&gt;
* '''Extended''' and '''Extreme''' calibration modes for complex cases.&lt;br /&gt;
* Bunch of minor improvements.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* In rare cases calibration results in upside down configuration.&lt;br /&gt;
* In rare cases '''Pause''' button is not clickable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.3.172|Jan 07, 2015|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.3.172.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved progress indication for some operations - for example, video export and data export in Biomech addon. Removed progress indication in the scene (the spinning &amp;quot;wheel&amp;quot;).&lt;br /&gt;
* Scaling the actor's model relative to the floor when adjusting its height.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* App crash during the calibration of dual Kinect 2 configuration using a board.&lt;br /&gt;
* App crash during the export of point cloud from Kinect 2.&lt;br /&gt;
* App crash when trying to remove an entry from the list of MRU hand poses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.2.171|Nov 26, 2014|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.2.171.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Additional improvements in calibration procedure:&lt;br /&gt;
** flashlight marker detection becomes faster and more robust;&lt;br /&gt;
** calibration of multiple Kinect 2 sensors with the aid of flashlight is now supported;&lt;br /&gt;
** undo/redo is now fully functional for calibration projects;&lt;br /&gt;
** automatic detection of ground points is slightly improved to become more reliable in complex cases.&lt;br /&gt;
* Options for FBX export:&lt;br /&gt;
** FBX version;&lt;br /&gt;
** Binary/ASCII format.&lt;br /&gt;
* Manual ground height fine-tuning for action projects ('''Scene''' tab).&lt;br /&gt;
* Message about incompatible video card on execution of Tracking / Refine / Refit Pose if video card is not '''DirectX 11''' capable.&lt;br /&gt;
* Reduced memory footprint.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* Binary format of project files is slightly changed. This version can open projects saved by previous versions. But previous versions are unable to open projects saved by this version.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Tracking overrides key frames for hands.&lt;br /&gt;
* Wrong position of video billboard for projects from depth sensors when alignment of color video to depth is switched off.&lt;br /&gt;
* FBX import/export doesn't work in rear cases: OS is Windows 7 64-bit, Service Pack 1 is not installed, CPU supports AVX instructions set (e.g. Intel Core i3/i5/i7 Haswell).&lt;br /&gt;
* Fatal error &amp;quot;NullReferenceException&amp;quot; during application start up in rear cases.&lt;br /&gt;
* Minor bugs in visibility of imported character's bones and opacity of imported character's skin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.1.169|Nov 11, 2014|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.1.169.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Disabling tabs area and some keyboard shortcuts during processing to prevent unintentional interruption of operation.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Crash on start on hardware configurations with high resolution display and 2 GB (or less) video card.&lt;br /&gt;
* Processing speed degradation on Windows 7.&lt;br /&gt;
* Rare false failure of integrity check in certain environments.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.0.166|Nov 03, 2014|http://files.ipisoft.com/iPiMocapStudioSetup-3.0.0.166.exe}}&lt;br /&gt;
&lt;br /&gt;
The first public release of [[iPi Mocap Studio|iPi Mocap Studio 3]]. If you're user of '''iPi Studio 2.x''' or '''iPi Studio 1.x''' then please visit [[Migration to V3 from Older Versions]] article.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support of new depth sensors: [[Depth Sensors Comparison|Kinect for Xbox One / Kinect 2 for Windows]].&lt;br /&gt;
* Improved calibration:&lt;br /&gt;
** more reliable;&lt;br /&gt;
** faster;&lt;br /&gt;
** automatic ground detection;&lt;br /&gt;
** calibration quality feedback.&lt;br /&gt;
* Improved tracking for arms and legs.&lt;br /&gt;
* Redesigned user interface.&lt;br /&gt;
* Comprehensive progress indicators.&lt;br /&gt;
* Improved user interface for animation export and motion transfer.&lt;br /&gt;
* More accurate center of mass calculation.&lt;br /&gt;
* Tons of minor improvements and fixes.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* New project file formats: [[.iPiVideo File Extension|.iPiVideo]], [[.iPiCalib File Extension|.iPiCalib]]  and [[.iPiLocked File Extension|.iPiLocked]]. V2 projects can be opened and stored to the new format.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Migration to DirectX 11.&lt;br /&gt;
* Moving to Microsoft .Net 4.5.1 Platform.&lt;br /&gt;
* Using new installation and auto-update system instead of buggy ClickOnce technology.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Recorder_Release_Notes</id>
		<title>iPi Recorder Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Recorder_Release_Notes"/>
				<updated>2020-02-28T12:06:48Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color:#222222; border:dashed 1px gray; padding:4pt; margin:0.5em; background-color:#FAFAFA&amp;quot;&amp;gt;&lt;br /&gt;
''Here you can find history of recent versions of [[iPi Recorder]].''&lt;br /&gt;
&lt;br /&gt;
''[[iPi Recorder]] has built-in auto update functionality. Auto update feature is configured so that checks for update are made once per day. It helps to reduce the start time of the application. If you want to update ASAP &amp;amp;mdash; you can use the '''Check for Update''' button on home screen.''&lt;br /&gt;
&lt;br /&gt;
''Note that both of these features require Internet connection. Alternatively (in case of troubles with auto update), you can download and run the updated installation program from [http://files.ipisoft.com/iPiRecorderSetup.exe direct link].''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.5.0.82|Feb 28, 2020|http://files.ipisoft.com/iPiRecorderSetup-4.5.0.82.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Video Builder''' now supports converting MKV videos recorded with Azure Kinect to iPiVideo format.&lt;br /&gt;
* Added automation commands to [[iPi_Automation_Add-on#start-broadcasting|start]]/[[iPi_Automation_Add-on#stop-broadcasting|stop]] broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]] in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash when receiving corrupted MJPEG frames from web cameras.&lt;br /&gt;
* Fixed app crash when playing back videos containing corrupted MJPEG frames.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.4.81|Oct 9, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.4.4.81.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Common &amp;quot;Darkening for Calibration&amp;quot; setting in toolbar area for '''Azure Kinect''' depth sensors. It is convenient for calibration of multiple '''Azure Kinect''' depth sensors using light marker (flashlight, PS Move).&lt;br /&gt;
* Command line argument &amp;lt;tt&amp;gt;--hide-recent-videos&amp;lt;/tt&amp;gt; to hide '''recent videos''' area and '''Browse...''' button on Home screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Bug fixes and accuracy improvements in broadcasting for [[Real-time Tracking for Live Preview|Live Preview]].&lt;br /&gt;
::{{Important|[[iPi Mocap Studio]] 4.3.0 or later is required.}}&lt;br /&gt;
* Corrections in behaviour of '''Exposure''' setting for '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Switching to version 1.2.0 of Azure Kinect Sensor SDK to communicate with '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.0.77|Aug 23, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.4.0.77.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''Azure Kinect''' depth sensor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.2.75|Aug 3, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.2.75.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed pairing of PS Move controllers broken in Windows 10 May 2019 Update (build 18362).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.1.74|May 16, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.1.74.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better quality of [https://en.wikipedia.org/wiki/Bayer_filter debayer] filter on exporting of video recorded from PS3 Eye webcams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.0.73|Mar 22, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.0.73.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for Nintendo Joy-Con motion controllers. At the moment this feature is considered experimental. Waiting for your feedback.&lt;br /&gt;
* Synchronization of videos based on audio data in '''Video Builder'''.&lt;br /&gt;
* Abort recording when a motion controller disconnects or otherwise goes in error status.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Proper display of error status for motion controllers and audio devices in device list.&lt;br /&gt;
* Prevent process hang-up after exit when using web cameras. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better handling and diagnostics for GPU compatibility issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.2.72|Feb 26, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.2.72.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Infinite continuous auto-refreshing of device list on home screen when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2 via UsbDk driver.&lt;br /&gt;
* Device lost during background evaluation when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with multiple Kinect v2 devices via UsbDk driver.&lt;br /&gt;
* Version of USB connection was not detected correctly for Intel RealSense D400 series depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.1.71|Feb 18, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.1.71.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Auto refresh of device list on connection/disconnection of USB devices. This saves from pressing '''Refresh Devices''' button in most times. Still, you may need this button sometimes.&lt;br /&gt;
* All cameras are selected by default on '''EDIT''' tab.&lt;br /&gt;
* Tip about proper settings for Logitech C922 camera.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* When using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2, disconnected devices were not removed from the device list.&lt;br /&gt;
* Application freezed when returning to the home screen after a web camera has been disconnected.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Updated used version of RealSense SDK 2.&lt;br /&gt;
* Updated used version of OpenNI and driver for Orbbec Astra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.0.70|Feb 5, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.0.70.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple Kinects v2 on a single PC. [[Multiple Kinects v2 on a Single PC|See details]] in docs.&lt;br /&gt;
* Support for multiple ASUS Xtion2 on a single PC. Also it does not conflict with Kinect v2 anymore.&lt;br /&gt;
* Selectively enable support for various camera types in '''Camera Types''' panel. Some camera types have conflicts in runtime, and this capability allows to resolve such issues by disabling unused camera types.&lt;br /&gt;
* '''Add Controller''' button changed to '''Add Device'''. Dropdown now includes all supported camera types to quickly enable support and obtain installation/connection instructions. Items for motion controllers behave as previously &amp;amp;mdash; run pairing wizard.&lt;br /&gt;
* Preserving audio when converting regular video files to .iPiVideo format.&lt;br /&gt;
* Added '''Sync by Flash''' button to the ribbon of '''Video Builder'''. It automatically detects flashes in all videos and attempts to synchronize them based on that data.&lt;br /&gt;
[[File:Add-Device-Kinect2-multiple.png|400px|center|Add Device dropdown]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.0.69|Dec 3, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.1.0.69.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple depth sensors in [[Real-time Tracking for Live Preview|live data streaming]]. Can be used in combination with [[Distributed Recording]].&lt;br /&gt;
* Support for [https://www.theverge.com/circuitbreaker/2017/10/3/16411466/sony-ps-move-controller-mini-usb-micro-playstation-vr new modification] of '''PS Move''' motion controllers:&lt;br /&gt;
** new model has '''CECH-ZCM2x''' label (previous model was '''CECH-ZCM1x'''),&lt;br /&gt;
** new model has micro-USB connection slot (previous model had mini-USB connection slot),&lt;br /&gt;
** this new model doesn't have magnetometer, but it looks like that is has better gyro-sensors and accelerometers, which provide rather precise data,&lt;br /&gt;
** for this reason we can recommend to use this model (it should be accurate enough for Motion Capture needs).&lt;br /&gt;
* Automatic video synchronization based on flashes in [[How_to_Build_Synced_Multi-Camera_Video|Build Combined Video]] tool.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.7.67|Sep 6, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.7.67.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Estimation and visualization of quality of [[How to Calibrate Camera Optics|camera optics calibration]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Cameras/depth sensors were not synchronized correctly during [[Distributed Recording]] under certain conditions.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.5.65|Aug 24, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.5.65.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Ask confirmation when leaving video builder and there are unsaved changes.&lt;br /&gt;
* '''Clear All''' command in video builder toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Builder UI was not properly updated after setting sync frame on a separate tab.&lt;br /&gt;
* Timeline selection interval was erroneously set from previous video builder session.&lt;br /&gt;
* Improved reliability around loading camera parameters.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.4.64|Aug 13, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.4.64.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[How to Build Synced Multi-Camera Video|Video builder]] now considers frame time stamps for better alignment of frames between videos.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Adjusting T-pose frames in skeleton tracks after synchronization in [[How to Build Synced Multi-Camera Video|video builder]].&lt;br /&gt;
* Fixed improper behavior of frame selection indicator in [[How to Calibrate Camera Optics|camera calibration tool]].&lt;br /&gt;
* RESULT tab in [[How to Calibrate Camera Optics|camera calibration tool]] did not hide when list of selected frames changed.&lt;br /&gt;
* Fixed app crash on startup due to error in initialization of Open NI 2. The error is usually caused by failure of ASUS Xtion 2 driver when other camera is connected (occurs for some camera models). &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.3.63|Jul 19, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.3.63.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation under rare conditions.&lt;br /&gt;
* Fixed app crash when stopping recording while in full screen mode.&lt;br /&gt;
* Fixed app crash when running second instance of the application under rare conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Automatically exit full screen mode on certain events.&lt;br /&gt;
* Show app crash report window for crashes occurred in app initialization.&lt;br /&gt;
* Updated OpenNI driver for ASUS Xtion2.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.1.61|Jul 03, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.1.61.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for the new depth sensors:&lt;br /&gt;
** Intel RealSense [https://realsense.intel.com/stereo/ D415&amp;amp;nbsp;/&amp;amp;nbsp;D435]&lt;br /&gt;
** Orbbec [http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra_p_12.html Astra] / [http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra-Pro_p_35.html Astra PRO]&lt;br /&gt;
** ASUS [https://www.asus.com/3D-Sensor/Xtion-2/ Xtion2]&lt;br /&gt;
* [[How to Calibrate Camera Optics|Tool for precise calibration of cameras]] that allows to determine camera internal parameters, including distortion.&lt;br /&gt;
* Powerful [[How to Build Synced Multi-Camera Video|video builder]], which allows to combine/edit video from different sources, (re)evaluate background, set/patch inter-cameras synchronization, etc.&lt;br /&gt;
* Support for [[Quick Start Guide for Multiple Action Cameras Configuration|workflow with action cameras]] like [https://shop.gopro.com/cameras GoPro] and [https://sjcam.com/ SJCAM].&lt;br /&gt;
* [[Real-time Tracking for Live Preview]]: live data streaming to [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Poor quality of Sony PS3 Eye video if Upside Down option set.&lt;br /&gt;
* Backround was not discarded in case of certain changes of the recording settings.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.2.57|Oct 23, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.2.57.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Сritical bug fix in depth sensors reinitialization after resetting of devices or returning from playback.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.1.56|Oct 13, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.1.56.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Workflow improvements for background evaluation in [[Distributed Recording|distributed recording]]:&lt;br /&gt;
** It is allowed to enter slave mode or connect to slaves without previously evaluating background.&lt;br /&gt;
** Running background evaluation on a master PC triggers evaluation on slave PCs as well. Thus there is no need to run background evaluation on slave PCs manually.&lt;br /&gt;
** Current percentage of background area is displayed in a status of a slave PC (minimum value among all cameras on this slave PC).&lt;br /&gt;
* Export of depth data from iPiVideo to series of PNG files. 16-bit grayscale colors represent depth values in millimeters.&lt;br /&gt;
:{{Note|For Kinect 2, a conversion table from depth space to camera space is exported into a TAB-separated text file along with depth data.}}&lt;br /&gt;
* Simple frame center marker introduced for alignment purposes has been replaced by a more useful alignment grid.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Ensure '''PLAY''' tab is activated first when opening a record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.0.55|Aug 14, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.0.55.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved performance with '''Logitech C922''' cameras.&lt;br /&gt;
* Workflow for opening a record for playback from '''Recording Results''' dialog is improved. Instead of '''HOME''' button, there is a '''BACK''' button to return to recording without losing previous recording state (like evaluated background). &lt;br /&gt;
* Option to mark centers of camera frames on '''SETUP''' screen. This may help with positioning of cameras. &lt;br /&gt;
* Statistics overlay control is hidden the same way as other controls when collapsed to not cover the bottom area of a frame. &lt;br /&gt;
* Asking confirmation on closing the application when recording is in process. &lt;br /&gt;
* New event ''recording-started'' in [[iPi Automation Add-on|Automation addon]].&lt;br /&gt;
* Hover toolbar in '''Recent Records''' list. It was available as context menu (on right click) previously. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Pressing '''PROPERTIES''' or '''CALIBRATE''' button in overlay controls now exits full screen mode automatically. &lt;br /&gt;
* Compatibility of supported compression modes is now considered when determining whether selected cameras are compatible. &lt;br /&gt;
* Fixed app crash when an error occurs on disconnecting web camera. &lt;br /&gt;
* '''Reset Devices''' command on '''RECORD''' screen now does not reset evaluated background.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Using GPU (supporting DirectX 11) for rendering camera streams. This improves overall performance during recording.&lt;br /&gt;
* Improved performance of the '''Trace''' window. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.11.53|Jun 12, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.11.53.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Calibration procedure did not finish with some PS Moves because they do not provide magnetic data. Now magnetic calibration can be skipped.&lt;br /&gt;
{{Note|It is not clear currently whether such PS Moves lack magnetometer completely or it is disabled. Without magnetic data, an orientation provided by controller will likely suffer more from the drift over time issue.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.9.51|Apr 28, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.9.51.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation with Xtion/Carmine depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.8.50|Apr 25, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.8.50.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@90fps''' and '''1920x1080@90fps''' modes of '''Logitech BRIO''' webcam.&lt;br /&gt;
* For depth sensors (Kinect, Kinect v2, Xtion, PrimeSense): checking floor detection quality during background evaluation, warning user about bad floor visibility.&lt;br /&gt;
* Making photo from web camera or depth sensor (copying of current image from video source to clipboard).&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] updated to manage [[Distributed Recording]]:&lt;br /&gt;
** Added [[iPi_Automation_Add-on#discover-slaves|discover-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#connect-to-slaves|connect-to-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#disconnect-from-slaves|disconnect-from-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#enter-slave-mode|enter-slave-mode]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#exit-slave-mode|exit-slave-mode]] command&lt;br /&gt;
** '''recording-stopped''' event has got a new argument '''slaveResults''' which holds some details about the results of distributed recording on slave PCs.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: ensure correspondence of devices/screens order in UI and items order in the result of [[iPi_Automation_Add-on#get-devices-state|get-devices-state]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: argument '''selectedDevices''' of [[iPi_Automation_Add-on#open-recorder|open-recorder]] command was ignored. Now it works and items order in '''selectedDevices''' defines devices/screens order in UI.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] could hang in rare cases during events sending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.7.49|Mar 07, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.7.49.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@60fps''' mode of '''Logitech C922 Pro Stream''' webcam.&lt;br /&gt;
* Filtering out webcam device for Kinect v2 sensor which appeared after recent Windows updates. This prevents confusion when recording with a &amp;quot;Kinect&amp;quot; camera produces a video without depth data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed incorrect handling of skeletal data while saving edited videos.&lt;br /&gt;
* Fixed storing of incorrect device parameters in record after hot-swapping Kinect v2 sensors while Recorder is running.&lt;br /&gt;
* Fixed some visual glitches of the ribbon in collapsed state.&lt;br /&gt;
* Fixed cropping of camera screens on window resize occurring under certain conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved performance of calculation of background area statistics.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.6.48|Jan 25, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.6.48.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automation Add-on: added [[iPi_Automation_Add-on#merge-videos|merge-videos]] command.&lt;br /&gt;
* Warning about possible performance issues on '''RECORD''' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Results of some checks on recording start were ignored. For instance, recording started after user answered '''No''' when presented a warning about low FPS.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.5.47|Nov 10, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.2.5.47.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Pairing of Sony PS Move controllers on Windows 8/10 using standard Bluetooth drivers, without the need to use ''Motion in Joy'' third-party drivers.&lt;br /&gt;
* Automation Add-on: added ''forceStart'' flag to [[iPi_Automation_Add-on#start-recording|start-recording]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* In case of people detection during background recording with Kinect v2 user's choice to use or discard recorded background was processed incorrectly.&lt;br /&gt;
* Software crashed after pressing ''Reset'' button on ''RECORD'' screen when Kinects were used for recording.&lt;br /&gt;
* Software crashed in some cases on start of distributed recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.3.45|Jul 14, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.2.3.45.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''iPi Automation Add-on''' released.&amp;lt;br&amp;gt;This tool allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending JSON commands via Windows dll. It can be used for:&lt;br /&gt;
** Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution;&lt;br /&gt;
** Automation of repeatable tasks;&lt;br /&gt;
** Automation of custom workflow.&lt;br /&gt;
{{Note|Add-on is not a free update and requires separate license key. 30-days free trial is [[iPi_Automation_Add-on#License_and_Trial|available]]. For more information please read [[iPi Automation Add-on]] documentation.}}&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.4.43|Apr 25, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.1.4.43.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Show statistics of background quality (background area percentage).&lt;br /&gt;
* Detecting substantial change of background that may deteriorate tracking quality.&lt;br /&gt;
* Show ‘green screen’ (Hide Background) during recording.&lt;br /&gt;
* Support of Intel [https://ark.intel.com/products/92256/Intel-RealSense-Camera-R200 RealSense R200] sensor. &lt;br /&gt;
** Please be aware that R200 depth quality is lower compared to Kinect sensors so far, so tracking accuracy may deteriorate. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Performance optimizations for recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.3.38|Nov 19, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.3.38.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Recording '''Kinect 2''' tracking data for [[Using_Tracking_Data_from_Depth_Sensors|further usage]] in '''iPi Mocap Studio'''.&lt;br /&gt;
* Detecting if several '''Kinect 2''' sensors are connected to the same PC.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Decreased background subtraction threshold for '''Kinect 2''' sensors.&lt;br /&gt;
* Memory usage optimizations.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.2.36|Jun 18, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.2.36.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Resetting previously evaluated background when camera properties are changed on the Setup stage.&lt;br /&gt;
* Export of audio data with a separate button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Frequent ‘Camera hang detected’ errors on recording start with large number of cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Correct installation of older version over newer one.&lt;br /&gt;
*: Previously uninstallation was required.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.1.34|Mar 06, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.1.34.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automatic selection of available TCP ports for [[Distributed Recording]] if default values ('''31415''' and '''31416''') are in use by other applications.&lt;br /&gt;
* Displaying tips with important info. Click to hide.&lt;br /&gt;
* Filtering out corrupted/absent files in the list of recent records.&lt;br /&gt;
* Improved computation of remaining time when downloading from multiple slaves.&lt;br /&gt;
* Improved error handling in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Progress indication on taskbar icon is not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Partially downloaded records are not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Incorrect timing of records under rare conditions.&lt;br /&gt;
* Order of cameras may differ in records when using multiple slaves.&lt;br /&gt;
* Cancelling recording while counting down leads to app crash.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.0.33|Dec 29, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.1.0.33.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Distributed Recording]] which provides the ability to record synchronized video from multiple devices connected to several computers. Using this feature now one can use multiple '''MS Kinect 2''' sensors for tracking.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Video editing and export were not allowed for four-cameras video in [http://ipisoft.com/software/basic-edition/ Basic Edition].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.1.32|Nov 13, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.0.1.32.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Application crash if at least one motion controller (PS Move or Wii Remote) is selected for recording.&lt;br /&gt;
* Export and video editing were erroneously disabled for free trial.&lt;br /&gt;
* Rare false failure of integrity check in certain environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.0.31|Nov 03, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.0.0.31.exe}}&lt;br /&gt;
&lt;br /&gt;
The first public release of [[iPi Recorder|iPi Recorder 3]]. If you're user of '''iPi Recorder 2.x''' or '''iPi Recorder 1.x''' then please visit [[Migration to V3 from Older Versions]] article.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Depth Sensors Comparison|Kinect for Xbox One / Kinect 2 for Windows support]].&lt;br /&gt;
* Redesigned user interface based on [http://en.wikipedia.org/wiki/Ribbon_(computing) Ribbon concept].&lt;br /&gt;
* [[.iPiVideo File Extension|.iPiVideo]] records editing (cutting, removing cameras, etc.).&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Audio and video export.&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Shell Extension for [[.iPiVideo File Extension|iPiVideo]] files which provides thumbnails and preview functionality for [[.iPiVideo File Extension|iPiVideo]] files in Windows Explorer and Open/Save dialogs.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* [[.iPiVideo File Extension|iPiVideo]] records produced by [[iPi Recorder|iPi Recorder 3]] can't be opened in [http://wiki.ipisoft.com/IPi_Recorder iPi Recorder '''2'''] and [http://wiki.ipisoft.com/IPi_Mocap_Studio iPi Mocap Studio '''2'''].&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Windows XP and Windows Vista. It requires Windows 7 or 8.&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Kinect SDK 1.6, Kinect SDK 1.7 and usage of '''psdrv3''' drivers to work with MS Kinect / MS Kinect for XBOX 360. The only option for these devices is to use Kinect SDK 1.8.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Moving to Microsoft .Net 4.5.1 Platform.&lt;br /&gt;
* Using new installation and auto-update system instead of buggy ClickOnce technology.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Recorder_Release_Notes</id>
		<title>iPi Recorder Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Recorder_Release_Notes"/>
				<updated>2020-02-28T12:06:06Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color:#222222; border:dashed 1px gray; padding:4pt; margin:0.5em; background-color:#FAFAFA&amp;quot;&amp;gt;&lt;br /&gt;
''Here you can find history of recent versions of [[iPi Recorder]].''&lt;br /&gt;
&lt;br /&gt;
''[[iPi Recorder]] has built-in auto update functionality. Auto update feature is configured so that checks for update are made once per day. It helps to reduce the start time of the application. If you want to update ASAP &amp;amp;mdash; you can use the '''Check for Update''' button on home screen.''&lt;br /&gt;
&lt;br /&gt;
''Note that both of these features require Internet connection. Alternatively (in case of troubles with auto update), you can download and run the updated installation program from [http://files.ipisoft.com/iPiRecorderSetup.exe direct link].''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.5.0.82|Feb 28, 2020|http://files.ipisoft.com/iPiRecorderSetup-4.5.0.82.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''Video Builder''' now supports converting MKV videos recorded with Azure Kinect to iPiVideo format.&lt;br /&gt;
* Added automation commands to [[iPi_Automation_Add-on#start-broadcasting|start]]/[[iPi_Automation_Add-on#stop-broadcasting|stop] broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]] in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash when receiving corrupted MJPEG frames from web cameras.&lt;br /&gt;
* Fixed app crash when playing back videos containing corrupted MJPEG frames.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.4.81|Oct 9, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.4.4.81.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Common &amp;quot;Darkening for Calibration&amp;quot; setting in toolbar area for '''Azure Kinect''' depth sensors. It is convenient for calibration of multiple '''Azure Kinect''' depth sensors using light marker (flashlight, PS Move).&lt;br /&gt;
* Command line argument &amp;lt;tt&amp;gt;--hide-recent-videos&amp;lt;/tt&amp;gt; to hide '''recent videos''' area and '''Browse...''' button on Home screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Bug fixes and accuracy improvements in broadcasting for [[Real-time Tracking for Live Preview|Live Preview]].&lt;br /&gt;
::{{Important|[[iPi Mocap Studio]] 4.3.0 or later is required.}}&lt;br /&gt;
* Corrections in behaviour of '''Exposure''' setting for '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Switching to version 1.2.0 of Azure Kinect Sensor SDK to communicate with '''Azure Kinect''' depth sensors.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.4.0.77|Aug 23, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.4.0.77.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''Azure Kinect''' depth sensor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.2.75|Aug 3, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.2.75.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed pairing of PS Move controllers broken in Windows 10 May 2019 Update (build 18362).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.1.74|May 16, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.1.74.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better quality of [https://en.wikipedia.org/wiki/Bayer_filter debayer] filter on exporting of video recorded from PS3 Eye webcams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.3.0.73|Mar 22, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.3.0.73.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for Nintendo Joy-Con motion controllers. At the moment this feature is considered experimental. Waiting for your feedback.&lt;br /&gt;
* Synchronization of videos based on audio data in '''Video Builder'''.&lt;br /&gt;
* Abort recording when a motion controller disconnects or otherwise goes in error status.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Proper display of error status for motion controllers and audio devices in device list.&lt;br /&gt;
* Prevent process hang-up after exit when using web cameras. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Better handling and diagnostics for GPU compatibility issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.2.72|Feb 26, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.2.72.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Infinite continuous auto-refreshing of device list on home screen when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2 via UsbDk driver.&lt;br /&gt;
* Device lost during background evaluation when using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with multiple Kinect v2 devices via UsbDk driver.&lt;br /&gt;
* Version of USB connection was not detected correctly for Intel RealSense D400 series depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.1.71|Feb 18, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.1.71.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Auto refresh of device list on connection/disconnection of USB devices. This saves from pressing '''Refresh Devices''' button in most times. Still, you may need this button sometimes.&lt;br /&gt;
* All cameras are selected by default on '''EDIT''' tab.&lt;br /&gt;
* Tip about proper settings for Logitech C922 camera.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* When using [[Multiple Kinects v2 on a Single PC|libfreenect2]] to work with Kinect v2, disconnected devices were not removed from the device list.&lt;br /&gt;
* Application freezed when returning to the home screen after a web camera has been disconnected.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Updated used version of RealSense SDK 2.&lt;br /&gt;
* Updated used version of OpenNI and driver for Orbbec Astra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.2.0.70|Feb 5, 2019|http://files.ipisoft.com/iPiRecorderSetup-4.2.0.70.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple Kinects v2 on a single PC. [[Multiple Kinects v2 on a Single PC|See details]] in docs.&lt;br /&gt;
* Support for multiple ASUS Xtion2 on a single PC. Also it does not conflict with Kinect v2 anymore.&lt;br /&gt;
* Selectively enable support for various camera types in '''Camera Types''' panel. Some camera types have conflicts in runtime, and this capability allows to resolve such issues by disabling unused camera types.&lt;br /&gt;
* '''Add Controller''' button changed to '''Add Device'''. Dropdown now includes all supported camera types to quickly enable support and obtain installation/connection instructions. Items for motion controllers behave as previously &amp;amp;mdash; run pairing wizard.&lt;br /&gt;
* Preserving audio when converting regular video files to .iPiVideo format.&lt;br /&gt;
* Added '''Sync by Flash''' button to the ribbon of '''Video Builder'''. It automatically detects flashes in all videos and attempts to synchronize them based on that data.&lt;br /&gt;
[[File:Add-Device-Kinect2-multiple.png|400px|center|Add Device dropdown]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.1.0.69|Dec 3, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.1.0.69.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for multiple depth sensors in [[Real-time Tracking for Live Preview|live data streaming]]. Can be used in combination with [[Distributed Recording]].&lt;br /&gt;
* Support for [https://www.theverge.com/circuitbreaker/2017/10/3/16411466/sony-ps-move-controller-mini-usb-micro-playstation-vr new modification] of '''PS Move''' motion controllers:&lt;br /&gt;
** new model has '''CECH-ZCM2x''' label (previous model was '''CECH-ZCM1x'''),&lt;br /&gt;
** new model has micro-USB connection slot (previous model had mini-USB connection slot),&lt;br /&gt;
** this new model doesn't have magnetometer, but it looks like that is has better gyro-sensors and accelerometers, which provide rather precise data,&lt;br /&gt;
** for this reason we can recommend to use this model (it should be accurate enough for Motion Capture needs).&lt;br /&gt;
* Automatic video synchronization based on flashes in [[How_to_Build_Synced_Multi-Camera_Video|Build Combined Video]] tool.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.7.67|Sep 6, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.7.67.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Estimation and visualization of quality of [[How to Calibrate Camera Optics|camera optics calibration]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Cameras/depth sensors were not synchronized correctly during [[Distributed Recording]] under certain conditions.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.5.65|Aug 24, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.5.65.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Ask confirmation when leaving video builder and there are unsaved changes.&lt;br /&gt;
* '''Clear All''' command in video builder toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Builder UI was not properly updated after setting sync frame on a separate tab.&lt;br /&gt;
* Timeline selection interval was erroneously set from previous video builder session.&lt;br /&gt;
* Improved reliability around loading camera parameters.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.4.64|Aug 13, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.4.64.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[How to Build Synced Multi-Camera Video|Video builder]] now considers frame time stamps for better alignment of frames between videos.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Adjusting T-pose frames in skeleton tracks after synchronization in [[How to Build Synced Multi-Camera Video|video builder]].&lt;br /&gt;
* Fixed improper behavior of frame selection indicator in [[How to Calibrate Camera Optics|camera calibration tool]].&lt;br /&gt;
* RESULT tab in [[How to Calibrate Camera Optics|camera calibration tool]] did not hide when list of selected frames changed.&lt;br /&gt;
* Fixed app crash on startup due to error in initialization of Open NI 2. The error is usually caused by failure of ASUS Xtion 2 driver when other camera is connected (occurs for some camera models). &lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.3.63|Jul 19, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.3.63.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation under rare conditions.&lt;br /&gt;
* Fixed app crash when stopping recording while in full screen mode.&lt;br /&gt;
* Fixed app crash when running second instance of the application under rare conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Automatically exit full screen mode on certain events.&lt;br /&gt;
* Show app crash report window for crashes occurred in app initialization.&lt;br /&gt;
* Updated OpenNI driver for ASUS Xtion2.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|4.0.1.61|Jul 03, 2018|http://files.ipisoft.com/iPiRecorderSetup-4.0.1.61.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Support for the new depth sensors:&lt;br /&gt;
** Intel RealSense [https://realsense.intel.com/stereo/ D415&amp;amp;nbsp;/&amp;amp;nbsp;D435]&lt;br /&gt;
** Orbbec [http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra_p_12.html Astra] / [http://shop-orbbec3d-com.3dcartstores.com/Orbbec-Astra-Pro_p_35.html Astra PRO]&lt;br /&gt;
** ASUS [https://www.asus.com/3D-Sensor/Xtion-2/ Xtion2]&lt;br /&gt;
* [[How to Calibrate Camera Optics|Tool for precise calibration of cameras]] that allows to determine camera internal parameters, including distortion.&lt;br /&gt;
* Powerful [[How to Build Synced Multi-Camera Video|video builder]], which allows to combine/edit video from different sources, (re)evaluate background, set/patch inter-cameras synchronization, etc.&lt;br /&gt;
* Support for [[Quick Start Guide for Multiple Action Cameras Configuration|workflow with action cameras]] like [https://shop.gopro.com/cameras GoPro] and [https://sjcam.com/ SJCAM].&lt;br /&gt;
* [[Real-time Tracking for Live Preview]]: live data streaming to [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Poor quality of Sony PS3 Eye video if Upside Down option set.&lt;br /&gt;
* Backround was not discarded in case of certain changes of the recording settings.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.2.57|Oct 23, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.2.57.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Сritical bug fix in depth sensors reinitialization after resetting of devices or returning from playback.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.1.56|Oct 13, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.1.56.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Workflow improvements for background evaluation in [[Distributed Recording|distributed recording]]:&lt;br /&gt;
** It is allowed to enter slave mode or connect to slaves without previously evaluating background.&lt;br /&gt;
** Running background evaluation on a master PC triggers evaluation on slave PCs as well. Thus there is no need to run background evaluation on slave PCs manually.&lt;br /&gt;
** Current percentage of background area is displayed in a status of a slave PC (minimum value among all cameras on this slave PC).&lt;br /&gt;
* Export of depth data from iPiVideo to series of PNG files. 16-bit grayscale colors represent depth values in millimeters.&lt;br /&gt;
:{{Note|For Kinect 2, a conversion table from depth space to camera space is exported into a TAB-separated text file along with depth data.}}&lt;br /&gt;
* Simple frame center marker introduced for alignment purposes has been replaced by a more useful alignment grid.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Ensure '''PLAY''' tab is activated first when opening a record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.3.0.55|Aug 14, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.3.0.55.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Improved performance with '''Logitech C922''' cameras.&lt;br /&gt;
* Workflow for opening a record for playback from '''Recording Results''' dialog is improved. Instead of '''HOME''' button, there is a '''BACK''' button to return to recording without losing previous recording state (like evaluated background). &lt;br /&gt;
* Option to mark centers of camera frames on '''SETUP''' screen. This may help with positioning of cameras. &lt;br /&gt;
* Statistics overlay control is hidden the same way as other controls when collapsed to not cover the bottom area of a frame. &lt;br /&gt;
* Asking confirmation on closing the application when recording is in process. &lt;br /&gt;
* New event ''recording-started'' in [[iPi Automation Add-on|Automation addon]].&lt;br /&gt;
* Hover toolbar in '''Recent Records''' list. It was available as context menu (on right click) previously. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Pressing '''PROPERTIES''' or '''CALIBRATE''' button in overlay controls now exits full screen mode automatically. &lt;br /&gt;
* Compatibility of supported compression modes is now considered when determining whether selected cameras are compatible. &lt;br /&gt;
* Fixed app crash when an error occurs on disconnecting web camera. &lt;br /&gt;
* '''Reset Devices''' command on '''RECORD''' screen now does not reset evaluated background.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Using GPU (supporting DirectX 11) for rendering camera streams. This improves overall performance during recording.&lt;br /&gt;
* Improved performance of the '''Trace''' window. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.11.53|Jun 12, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.11.53.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Calibration procedure did not finish with some PS Moves because they do not provide magnetic data. Now magnetic calibration can be skipped.&lt;br /&gt;
{{Note|It is not clear currently whether such PS Moves lack magnetometer completely or it is disabled. Without magnetic data, an orientation provided by controller will likely suffer more from the drift over time issue.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.9.51|Apr 28, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.9.51.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed app crash after background evaluation with Xtion/Carmine depth sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.8.50|Apr 25, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.8.50.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@90fps''' and '''1920x1080@90fps''' modes of '''Logitech BRIO''' webcam.&lt;br /&gt;
* For depth sensors (Kinect, Kinect v2, Xtion, PrimeSense): checking floor detection quality during background evaluation, warning user about bad floor visibility.&lt;br /&gt;
* Making photo from web camera or depth sensor (copying of current image from video source to clipboard).&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] updated to manage [[Distributed Recording]]:&lt;br /&gt;
** Added [[iPi_Automation_Add-on#discover-slaves|discover-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#connect-to-slaves|connect-to-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#disconnect-from-slaves|disconnect-from-slaves]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#enter-slave-mode|enter-slave-mode]] command&lt;br /&gt;
** Added [[iPi_Automation_Add-on#exit-slave-mode|exit-slave-mode]] command&lt;br /&gt;
** '''recording-stopped''' event has got a new argument '''slaveResults''' which holds some details about the results of distributed recording on slave PCs.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: ensure correspondence of devices/screens order in UI and items order in the result of [[iPi_Automation_Add-on#get-devices-state|get-devices-state]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]]: argument '''selectedDevices''' of [[iPi_Automation_Add-on#open-recorder|open-recorder]] command was ignored. Now it works and items order in '''selectedDevices''' defines devices/screens order in UI.&lt;br /&gt;
* [[iPi_Automation_Add-on|Automation Add-on]] could hang in rare cases during events sending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.7.49|Mar 07, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.7.49.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Added support for '''1280x720@60fps''' mode of '''Logitech C922 Pro Stream''' webcam.&lt;br /&gt;
* Filtering out webcam device for Kinect v2 sensor which appeared after recent Windows updates. This prevents confusion when recording with a &amp;quot;Kinect&amp;quot; camera produces a video without depth data.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Fixed incorrect handling of skeletal data while saving edited videos.&lt;br /&gt;
* Fixed storing of incorrect device parameters in record after hot-swapping Kinect v2 sensors while Recorder is running.&lt;br /&gt;
* Fixed some visual glitches of the ribbon in collapsed state.&lt;br /&gt;
* Fixed cropping of camera screens on window resize occurring under certain conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Improved performance of calculation of background area statistics.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.6.48|Jan 25, 2017|http://files.ipisoft.com/iPiRecorderSetup-3.2.6.48.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automation Add-on: added [[iPi_Automation_Add-on#merge-videos|merge-videos]] command.&lt;br /&gt;
* Warning about possible performance issues on '''RECORD''' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Results of some checks on recording start were ignored. For instance, recording started after user answered '''No''' when presented a warning about low FPS.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.5.47|Nov 10, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.2.5.47.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Pairing of Sony PS Move controllers on Windows 8/10 using standard Bluetooth drivers, without the need to use ''Motion in Joy'' third-party drivers.&lt;br /&gt;
* Automation Add-on: added ''forceStart'' flag to [[iPi_Automation_Add-on#start-recording|start-recording]] command.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* In case of people detection during background recording with Kinect v2 user's choice to use or discard recorded background was processed incorrectly.&lt;br /&gt;
* Software crashed after pressing ''Reset'' button on ''RECORD'' screen when Kinects were used for recording.&lt;br /&gt;
* Software crashed in some cases on start of distributed recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.2.3.45|Jul 14, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.2.3.45.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* '''iPi Automation Add-on''' released.&amp;lt;br&amp;gt;This tool allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending JSON commands via Windows dll. It can be used for:&lt;br /&gt;
** Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution;&lt;br /&gt;
** Automation of repeatable tasks;&lt;br /&gt;
** Automation of custom workflow.&lt;br /&gt;
{{Note|Add-on is not a free update and requires separate license key. 30-days free trial is [[iPi_Automation_Add-on#License_and_Trial|available]]. For more information please read [[iPi Automation Add-on]] documentation.}}&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.4.43|Apr 25, 2016|http://files.ipisoft.com/iPiRecorderSetup-3.1.4.43.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Show statistics of background quality (background area percentage).&lt;br /&gt;
* Detecting substantial change of background that may deteriorate tracking quality.&lt;br /&gt;
* Show ‘green screen’ (Hide Background) during recording.&lt;br /&gt;
* Support of Intel [https://ark.intel.com/products/92256/Intel-RealSense-Camera-R200 RealSense R200] sensor. &lt;br /&gt;
** Please be aware that R200 depth quality is lower compared to Kinect sensors so far, so tracking accuracy may deteriorate. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Performance optimizations for recording.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.3.38|Nov 19, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.3.38.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Recording '''Kinect 2''' tracking data for [[Using_Tracking_Data_from_Depth_Sensors|further usage]] in '''iPi Mocap Studio'''.&lt;br /&gt;
* Detecting if several '''Kinect 2''' sensors are connected to the same PC.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Decreased background subtraction threshold for '''Kinect 2''' sensors.&lt;br /&gt;
* Memory usage optimizations.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.2.36|Jun 18, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.2.36.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Resetting previously evaluated background when camera properties are changed on the Setup stage.&lt;br /&gt;
* Export of audio data with a separate button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Frequent ‘Camera hang detected’ errors on recording start with large number of cameras.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Correct installation of older version over newer one.&lt;br /&gt;
*: Previously uninstallation was required.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.1.34|Mar 06, 2015|http://files.ipisoft.com/iPiRecorderSetup-3.1.1.34.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* Automatic selection of available TCP ports for [[Distributed Recording]] if default values ('''31415''' and '''31416''') are in use by other applications.&lt;br /&gt;
* Displaying tips with important info. Click to hide.&lt;br /&gt;
* Filtering out corrupted/absent files in the list of recent records.&lt;br /&gt;
* Improved computation of remaining time when downloading from multiple slaves.&lt;br /&gt;
* Improved error handling in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Progress indication on taskbar icon is not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Partially downloaded records are not removed when downloading records from slave(s) is cancelled.&lt;br /&gt;
* Incorrect timing of records under rare conditions.&lt;br /&gt;
* Order of cameras may differ in records when using multiple slaves.&lt;br /&gt;
* Cancelling recording while counting down leads to app crash.&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.1.0.33|Dec 29, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.1.0.33.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Distributed Recording]] which provides the ability to record synchronized video from multiple devices connected to several computers. Using this feature now one can use multiple '''MS Kinect 2''' sensors for tracking.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Video editing and export were not allowed for four-cameras video in [http://ipisoft.com/software/basic-edition/ Basic Edition].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.1.32|Nov 13, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.0.1.32.exe}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B U G &amp;amp;nbsp;&amp;amp;nbsp; F I X E S:&lt;br /&gt;
* Application crash if at least one motion controller (PS Move or Wii Remote) is selected for recording.&lt;br /&gt;
* Export and video editing were erroneously disabled for free trial.&lt;br /&gt;
* Rare false failure of integrity check in certain environments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VersionShortInfo|3.0.0.31|Nov 03, 2014|http://files.ipisoft.com/iPiRecorderSetup-3.0.0.31.exe}}&lt;br /&gt;
&lt;br /&gt;
The first public release of [[iPi Recorder|iPi Recorder 3]]. If you're user of '''iPi Recorder 2.x''' or '''iPi Recorder 1.x''' then please visit [[Migration to V3 from Older Versions]] article.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;N E W &amp;amp;nbsp;&amp;amp;nbsp; F E A T U R E S:&lt;br /&gt;
* [[Depth Sensors Comparison|Kinect for Xbox One / Kinect 2 for Windows support]].&lt;br /&gt;
* Redesigned user interface based on [http://en.wikipedia.org/wiki/Ribbon_(computing) Ribbon concept].&lt;br /&gt;
* [[.iPiVideo File Extension|.iPiVideo]] records editing (cutting, removing cameras, etc.).&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Audio and video export.&lt;br /&gt;
*: ''available only for owners of [[iPi Mocap Studio]] license, including non-expired Free Trial''.&lt;br /&gt;
* Shell Extension for [[.iPiVideo File Extension|iPiVideo]] files which provides thumbnails and preview functionality for [[.iPiVideo File Extension|iPiVideo]] files in Windows Explorer and Open/Save dialogs.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;B R E A K I N G &amp;amp;nbsp;&amp;amp;nbsp; C H A N G E S:&lt;br /&gt;
* [[.iPiVideo File Extension|iPiVideo]] records produced by [[iPi Recorder|iPi Recorder 3]] can't be opened in [http://wiki.ipisoft.com/IPi_Recorder iPi Recorder '''2'''] and [http://wiki.ipisoft.com/IPi_Mocap_Studio iPi Mocap Studio '''2'''].&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Windows XP and Windows Vista. It requires Windows 7 or 8.&lt;br /&gt;
* [[iPi Recorder|iPi Recorder 3]] doesn't support Kinect SDK 1.6, Kinect SDK 1.7 and usage of '''psdrv3''' drivers to work with MS Kinect / MS Kinect for XBOX 360. The only option for these devices is to use Kinect SDK 1.8.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;U N D E R &amp;amp;nbsp;&amp;amp;nbsp; T H E &amp;amp;nbsp;&amp;amp;nbsp; H O O D:&lt;br /&gt;
* Moving to Microsoft .Net 4.5.1 Platform.&lt;br /&gt;
* Using new installation and auto-update system instead of buggy ClickOnce technology.&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T17:10:29Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* stop-live-recording */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|usage=mandatory|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|usage=mandatory|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T17:09:39Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* start-live-recording */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|usage=mandatory|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T17:05:18Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* set-tracking-props */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T17:03:04Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* set-tracking-props */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Value of smoothing filter for live session. Greater values make motion look smoother. Not allowed for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T15:44:51Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* set-tracking-props */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for regular projects with depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not allowed for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T15:40:02Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* get-tracking-props */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' or ''Live'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether fast tracking algorithm is used. Not returned for projects with RGB, multiple actors or multiple GPUs, and for live session.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value. Not returned for live sessions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;liveSmoothingFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ranged from 0 to 75.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Actual value of smoothing filter for live session. Not returned for regular projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T15:30:46Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* stop-live-recording */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=Path of the recorded project.}}&lt;br /&gt;
{{AutomationCommandParam|name=frameCount|type=integer|desc=Number of frames recorded.}}&lt;br /&gt;
{{AutomationCommandParam|name=duration|values=Timespan in format '''hh:mm:ss.ffffff'''.|desc=Duration of recording.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-live-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 900,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:30.000000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T15:25:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* start-live-recording */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|values=Valid file path.|desc=&lt;br /&gt;
Path to a project file for recording. Prefer absolute path to avoid unintended location. If omitted then a value currently set in UI will be used.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandParam|name=projectPath|desc=&lt;br /&gt;
Actual project path used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-live-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectPath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMocap&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T14:24:26Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* connect-to-live-sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;],&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T14:22:06Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* connect-to-live-sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=hostNames|type=array|values=String array.|desc=&lt;br /&gt;
Names of hosts to connect to. If omitted, all available hosts will be used. If some of specified hosts cannot be connected the command will fail.}}&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span in format '''hh:mm:ss'''.|desc=&lt;br /&gt;
Timeout to establish a connection. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names to which a connection has been established.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationCommandParam</id>
		<title>Template:AutomationCommandParam</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationCommandParam"/>
				<updated>2020-02-26T13:49:22Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;{{{name}}}&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;{{{type|string}}}&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;{{{usage|optional}}}&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;{{{values|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{desc|}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:59:57Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* discover-live-sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams&lt;br /&gt;
|args=&lt;br /&gt;
{{AutomationCommandParam|name=timeout|values=Time span value in format '''hh:mm:ss[.sssssss]'''|desc=&lt;br /&gt;
Time to wait for live sources to be discovered. Default value is 5 seconds.}}&lt;br /&gt;
|result=&lt;br /&gt;
{{AutomationCommandSimpleResult|Array of host names running available live sources.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-live-sources&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationCommandSimpleResult</id>
		<title>Template:AutomationCommandSimpleResult</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationCommandSimpleResult"/>
				<updated>2020-02-26T11:56:34Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Created page with &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;{{{1}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;{{{1}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:49:47Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* stop-streaming-animation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:49:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* start-streaming-animation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandParams|args=&lt;br /&gt;
{{AutomationCommandParam|name=port|type=integer|values=Positive value|desc=&lt;br /&gt;
UDP port for streaming. If omitted, the currently set value is used.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:46:05Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* Live (Real-Time) Session Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;port&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;UDP port for streaming. If omitted, the currently set value is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:44:53Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* stop-broadcasting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|stop-broadcasting}}&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;port&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;UDP port for streaming. If omitted, the currently set value is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:44:15Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* start-broadcasting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
{{AutomationPrimitiveCommand|start-broadcasting}}}&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-broadcasting&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;port&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;UDP port for streaming. If omitted, the currently set value is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationCommandParam</id>
		<title>Template:AutomationCommandParam</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationCommandParam"/>
				<updated>2020-02-26T11:43:16Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Created page with &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;{{{name}}}&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;{{{type|string}}}&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;{{{usage|Optional}}}&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;{{{values|}}}&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;{{{desc|}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;{{{name}}}&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;{{{type|string}}}&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;{{{usage|Optional}}}&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;{{{values|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{desc|}}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationPrimitiveCommand</id>
		<title>Template:AutomationPrimitiveCommand</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationPrimitiveCommand"/>
				<updated>2020-02-26T11:28:47Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Vmaslov moved page Template:AutomationCommandNoArgsAndResult to Template:AutomationPrimitiveCommand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationCommandParams}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
{{#tag:syntaxhighlight|&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;{{{1}}}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
|lang=javascript}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationCommandNoArgsAndResult</id>
		<title>Template:AutomationCommandNoArgsAndResult</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationCommandNoArgsAndResult"/>
				<updated>2020-02-26T11:28:47Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Vmaslov moved page Template:AutomationCommandNoArgsAndResult to Template:AutomationPrimitiveCommand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:AutomationPrimitiveCommand]]&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationPrimitiveCommand</id>
		<title>Template:AutomationPrimitiveCommand</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationPrimitiveCommand"/>
				<updated>2020-02-26T11:27:27Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationCommandParams}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
{{#tag:syntaxhighlight|&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;{{{1}}}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
|lang=javascript}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/Template:AutomationCommandParams</id>
		<title>Template:AutomationCommandParams</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/Template:AutomationCommandParams"/>
				<updated>2020-02-26T11:26:39Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: Created page with &amp;quot;&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Descrip...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{{args|&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}}&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{{result|&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:15:22Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* stop-streaming-animation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-broadcasting&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-broadcasting&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;port&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;UDP port for streaming. If omitted, the currently set value is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|stop-streaming-animation}}&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:13:03Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* disconnect-from-live-sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-broadcasting&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-broadcasting&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|disconnect-from-live-sources}}&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;port&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;UDP port for streaming. If omitted, the currently set value is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	<entry>
		<id>https://docs.ipisoft.com/iPi_Automation_Add-on</id>
		<title>iPi Automation Add-on</title>
		<link rel="alternate" type="text/html" href="https://docs.ipisoft.com/iPi_Automation_Add-on"/>
				<updated>2020-02-26T11:11:09Z</updated>
		
		<summary type="html">&lt;p&gt;Vmaslov: /* end-live-session */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' allows to control [[iPi Recorder]] and [[iPi Mocap Studio]] from external application by sending [http://en.wikipedia.org/wiki/JSON JSON] commands via Windows dll. It can be used for:&lt;br /&gt;
* Using [[iPi Recorder]] and [[iPi Mocap Studio]] as a part of a third-party solution&lt;br /&gt;
* Automation of repeatable tasks &lt;br /&gt;
* Automation of custom workflow&lt;br /&gt;
&lt;br /&gt;
{{Note| '''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. 30-days free trial provided.}}&lt;br /&gt;
&lt;br /&gt;
= License and Trial =&lt;br /&gt;
&lt;br /&gt;
'''iPi Automation Add-on''' requires separate license key, which you need to activate in [[iPi Mocap Studio]]. You can order your license [http://ipisoft.com/software/automation-add-on/ here], or activate 30-days free trial. &lt;br /&gt;
Follow the steps below to start working with '''iPi Automation Add-on'''&lt;br /&gt;
# Select menu item '''Help &amp;gt; Manage Licenses &amp;gt; Automation Add-on'''.&lt;br /&gt;
# Press '''Start 30-days Free Trial Period''' or '''Enter Automation Add-on License Key''' and follow further on-screen instructions&lt;br /&gt;
#:[[Image:iPi-Integration-2-2.png|400px|]]&lt;br /&gt;
&lt;br /&gt;
{{Note|To use '''iPi Automation Add-on''' with [[iPi Recorder]], you have to install [[iPi Mocap Studio]] on the same computer and activate '''iPi Automation Add-on''' following the instructions above. You do not need to activate any other keys (Main or Biomech Add-on), if you do not plan to perform tracking on this computer. }}&lt;br /&gt;
&lt;br /&gt;
= Using iPi Automation Add-on =&lt;br /&gt;
&lt;br /&gt;
== Communication Library ==&lt;br /&gt;
&lt;br /&gt;
In order to enable communication with [[iPi Recorder]] and/or [[iPi Mocap Studio]], your program should use the library '''iPiMocapAutomation.dll'''.&lt;br /&gt;
&lt;br /&gt;
=== Redistributable Contents ===&lt;br /&gt;
Redistributable of the library ([http://files.ipisoft.com/iPiMocapAutomation.zip download link]) has the following structure:&lt;br /&gt;
* '''bin''' Binary files to redistribute with your program. The library file '''iPiMocapAutomation.dll''' accompanied by C runtime library '''msvcr120.dll''', command line utility '''iPiExec.exe''' and .NET managed wrapper for the library '''iPiMocapAutomation.Net.dll'''.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''include''' Header files for the library. May be used directly in C/C++ programs, or as reference for making proper binding to DLL for other programming languages.&lt;br /&gt;
* '''lib''' Static library files for linking with C/C++ programs.&lt;br /&gt;
** '''x86''' 32-bit version&lt;br /&gt;
** '''x64''' 64-bit version&lt;br /&gt;
* '''samples''' Samples of library usage. Currently only for Visual C++ 2013.&lt;br /&gt;
&lt;br /&gt;
=== iPiExec Console Application ===&lt;br /&gt;
&lt;br /&gt;
iPiExec.exe included into the redistributable is a console application that allows to send [http://en.wikipedia.org/wiki/JSON JSON] commands to [[iPi Recorder]] or [[iPi Mocap Studio]] without the need to write software application. It uses the same dll and API to communicate with [[iPi Recorder]] and [[iPi Mocap Studio]]. &lt;br /&gt;
&lt;br /&gt;
iPiExec console application can be used for:&lt;br /&gt;
&lt;br /&gt;
* Testing iPi Automation Add-on and specific commands&lt;br /&gt;
&lt;br /&gt;
* Creating scripts for automation of frequent operations&lt;br /&gt;
&lt;br /&gt;
* Integrating iPi Motion Capture into complex production pipelines using scripts&lt;br /&gt;
&lt;br /&gt;
===== Using iPiExec =====&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; | &amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;recorder&amp;lt;/tt&amp;gt; - for connecting to iPi Recorder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;studio&amp;lt;/tt&amp;gt; - for connecting to iPi Mocap Studio.&lt;br /&gt;
&lt;br /&gt;
After connecting just enter commands in JSON format (described below in this documentation). Multi-line commands are not supported, so each command (even long one) should be single-line.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run &amp;lt;tt&amp;gt;iPiExec&amp;lt;/tt&amp;gt; with Admin rights as well in this case.}}SAMPLE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;ipiexec recorder&lt;br /&gt;
Connecting to iPi Recorder...&lt;br /&gt;
Connected!&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt; { &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot; }&lt;br /&gt;
Executing: {&amp;quot;command&amp;quot;:&amp;quot;get-app-info&amp;quot;}&lt;br /&gt;
Received: {&amp;quot;success&amp;quot;:true,&amp;quot;result&amp;quot;:{&amp;quot;appName&amp;quot;:&amp;quot;iPi Recorder 3&amp;quot;,&amp;quot;appVersion&amp;quot;:&amp;quot;3.2.3.45&amp;quot;,&amp;quot;mainWindowHandle&amp;quot;:3673032,&amp;quot;processId&amp;quot;:6496}}&lt;br /&gt;
&lt;br /&gt;
RECORDER &amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
&lt;br /&gt;
This library provides a general way of communication with supported applications. A client program establishes a ''connection'' to an application. Then, using this connection, it sends ''commands'' to the application. After executing a command, the application synchronously sends a ''response'' to that command back to a client program. Also, through the same connection, the application asynchronously notifies a client program about occurring events, such as the end of a long-running operation.&lt;br /&gt;
&lt;br /&gt;
Each application has its own set of commands and events. Specific commands/events are out of scope of this library and should be handled in code using it.&lt;br /&gt;
&lt;br /&gt;
==== Connecting and Disconnecting ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ConnectToRecorder(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
iPi_Result iPi_ConnectToMocapStudio(LPCWSTR executablePath, iPi_EventCallback fnEventCallback, LPHANDLE phConnection, bool suppressAutoStart = false);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;executablePath&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Path to executable file of an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;fnEventCallback&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pointer to a function which handles events coming from an application. Optional.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;phConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;suppressAutoStart&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;If this flag is set to ''true'', application would not start automatically. Optional. Default value is ''false''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Functions '''iPi_ConnectToRecorder''' and '''iPi_ConnectToMocapStudio''' are used to establish connections to corresponding applications.&lt;br /&gt;
&lt;br /&gt;
First, they try to connect to already running application instance if any. An application will refuse the connection if it already has other connection with some client.&lt;br /&gt;
&lt;br /&gt;
If there are no running instances of the application, or they all refuse connection, then a new instance of the application is launched. If '''executablePath''' parameter is specified, then it is used to run the application. Otherwise, the function looks for path to an application in file associations and standard installation directory.&lt;br /&gt;
&lt;br /&gt;
When connection is fully operational, its handle is returned in '''phConnection''' parameter. This handle is used in all subsequent calls for this connection.&lt;br /&gt;
&lt;br /&gt;
{{Note|According to Windows security policies, your app must have at least the same access rights as [[iPi Recorder]] or [[iPi Mocap Studio]] to be able to connect. When [[iPi Recorder]] or [[iPi Mocap Studio]] starts automatically after installation, it runs with Windows Administrator rights. So you need to run your app with Admin rights as well in this case.}}&lt;br /&gt;
&lt;br /&gt;
Parameter '''fnEventCallback''' specifies a function to handle asynchronous application events. See [[#Consuming Events|the section about events]] below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_Disconnect(HANDLE hConnection);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_Disconnect''' closes previously open connection and frees all associated resources.&lt;br /&gt;
&lt;br /&gt;
The function does not close the application itself. To do this, send an exit command specific to the application.&lt;br /&gt;
&lt;br /&gt;
==== Sending Commands ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
iPi_Result iPi_ExecuteCommand(HANDLE hConnection, LPCWSTR jsonCommand, LPWSTR* pJsonResponse);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonCommand&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Command string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;pJsonResponse&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Receives a response string. Required.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''iPi_ExecuteCommand''' is used to send a command to the application. Parameter '''jsonCommand''' contains the command to send. &lt;br /&gt;
&lt;br /&gt;
Response received from the application is placed into '''pJsonResponse'''. When not needed anymore, the returned response string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
==== Consuming Events ====&lt;br /&gt;
&lt;br /&gt;
To consume asynchronous events coming from the application, client code should specify address of a callback function in '''fnEventCallback''' parameter when opening a connection. If callback is not specified, then application events will be discarded. The type of event callback is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
typedef void (WINAPI *iPi_EventCallback)(HANDLE hConnection, LPWSTR jsonEvent);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:smaller;min-width:50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;hConnection&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection handle.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jsonEvent&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Event string.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time an event comes from the application, the library calls this callback function. An event string is passed in '''jsonEvent''' parameter. When not needed, this string should be freed with '''iPi_Free''' function.&lt;br /&gt;
&lt;br /&gt;
A callback is invoked on a thread from the process's thread pool. Each invocation may be on another thread, and multiple invocations may take place in the same time. So pay attention to proper thread synchronization in code.&lt;br /&gt;
&lt;br /&gt;
==== Error Codes ====&lt;br /&gt;
&lt;br /&gt;
Most of API functions has return type '''iPi_Result''', which is enumeration representing error codes. The numeric values of the constants can be found in header file '''iPiTypes.h'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Constant&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OK&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Operation succeeded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_GENERAL_ERROR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Some error has occurred, for which there is no more specific error code.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_PARAM&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid parameter value in a call to a function.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_OUT_OF_MEMORY&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Not enough memory to complete an operation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CONNECTION_BROKEN&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Connection to an application has been broken. Should call '''iPi_Disconnect''' on this one and establish a new connection if needed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_START_APP&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application executable file was not found or other problem when starting application.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_CANNOT_CONNECT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Application is not running or does not accept connections. For example, its an old version of the application which does not support connections. Or limit on connections is reached.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;IPI_INVALID_DATA&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Invalid data read from a connection.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
BOOL iPi_Free(LPVOID ptr);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Function '''iPi_Free''' should be used to free memory blocks that are allocated by the library and passed to client code, when they are not needed anymore. This includes response strings when executing commands and event strings when consuming events.&lt;br /&gt;
&lt;br /&gt;
== Command Syntax ==&lt;br /&gt;
&lt;br /&gt;
''Commands'' are strings based on [http://en.wikipedia.org/wiki/JSON JSON] syntax. Commands are submitted via [http://en.wikipedia.org/wiki/JSON JSON] ''requests'' that include command name and may optionally include command arguments. &lt;br /&gt;
&lt;br /&gt;
The ''response'' is also [http://en.wikipedia.org/wiki/JSON JSON] string. The response include success flag. In case of error the response include error message. In case of success the response may optionally include result that is [http://en.wikipedia.org/wiki/JSON JSON] object.&lt;br /&gt;
&lt;br /&gt;
Long actions (recording, background evaluation, etc.) initiated by commands generate asynchroneous ''events'' on action completion. Event is described by [http://en.wikipedia.org/wiki/JSON JSON] string that include event name and may include optional arguments, depending on type of event.&lt;br /&gt;
&lt;br /&gt;
''SYNOPSIS''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request for command without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Request for command with arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;&amp;lt;command_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Simple response in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response including command result field in case of success&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
      &amp;lt;result_json_string&amp;gt;&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response in case of error&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;&amp;lt;error_message_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event without arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event including arguments&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;&amp;lt;event_name_string&amp;gt;&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;lt;arguments_list_json_string&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Recorder Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Recorder 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Recorder 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:524736,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:12368&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-studio ====&lt;br /&gt;
&lt;br /&gt;
''open-studio'' command opens [[iPi Mocap Studio]] and creates the project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-studio&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recording Commands ===&lt;br /&gt;
&lt;br /&gt;
==== open-home-screen ====&lt;br /&gt;
&lt;br /&gt;
''open-home-screen'' opens HOME screen of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-home-screen&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refresh-device-list ====&lt;br /&gt;
&lt;br /&gt;
''refresh-device-list'' returns the list of available devices.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing recording device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refresh-device-list&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;depth-sensor&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;Kinect 2 for Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Default Kinect 2&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: true,&lt;br /&gt;
            &amp;quot;error&amp;quot;: &amp;quot;Is not available&amp;quot;&lt;br /&gt;
        },    &lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;Microphone (USB Camera-B4.04.27 [VID=-1; PID=-1; Driver=256; Channels=2; Supports=WAVE_FORMAT_11M08, ...]&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: false,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-recorder ====&lt;br /&gt;
&lt;br /&gt;
''open-recorder'' selects devices for recording and switches to SETUP stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selectedDevices&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of device id strings&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selecting devices for recording. Device ids are returned by '''refresh-device-list''' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-recorder&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;selectedDevices&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== evaluate-background ====&lt;br /&gt;
&lt;br /&gt;
''evaluate-background'' runs background evaluation.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''background-evaluation-stopped''' event is generated when background evaluation ends&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when background evaluation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;evaluate-background&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;duration&amp;quot;: 3,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;background-evaluation-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-screen ====&lt;br /&gt;
&lt;br /&gt;
''go-to-screen'' opens SETUP, BACKGROUND or RECORD screen of [[iPi Recorder]]. /&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screen&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;setup&amp;lt;br&amp;gt;background&amp;lt;br&amp;gt;record&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Screen name to open as it is shown in user interface.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-screen&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screen&amp;quot;: &amp;quot;record&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-recording'' starts recording.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If parameter is not specified in command arguments, current value in user interface will be used.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;forceStart&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; allows to start recording despite fps is lower than expected. We recommend first run the command without this flag. If you get fps error message, while fps is generally fine, wait 1 second while statistics recalculates and run the commmand with this flag set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-started''' event is generated when recording has started successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;startMoment&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Date and time value in format&amp;lt;br/&amp;gt;&amp;lt;tt&amp;gt;yyyy-MM-ddTHH:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Moment when recording has started, in local time.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped due to sending '''[[#stop-recording|stop-recording]]''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording is successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-recording&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;forceStart&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-started&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;startMoment&amp;quot;: &amp;quot;2017-08-14T10:25:14.6457890&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197,&lt;br /&gt;
        &amp;quot;statistics&amp;quot; :&lt;br /&gt;
        {&lt;br /&gt;
                        &amp;quot;devicesStatistics&amp;quot; :&lt;br /&gt;
                        [&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #1&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2884,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.436367,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #2&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.3032,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.450399,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 62.5,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;deviceName&amp;quot; : &amp;quot;PlayStation Eye #3&amp;quot;,&lt;br /&gt;
                                        &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &amp;quot;average&amp;quot; : 60.2264,&lt;br /&gt;
                                                &amp;quot;deviation&amp;quot; : 0.321094,&lt;br /&gt;
                                                &amp;quot;max&amp;quot; : 61.7,&lt;br /&gt;
                                                &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                        },&lt;br /&gt;
                                        &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                                }&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;overallStatistics&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;badFramesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;deviceName&amp;quot; : &amp;quot;Overall&amp;quot;,&lt;br /&gt;
                                &amp;quot;frameGapsPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;framesPerSecond&amp;quot; :&lt;br /&gt;
                                {&lt;br /&gt;
                                        &amp;quot;average&amp;quot; : 60.2701,&lt;br /&gt;
                                        &amp;quot;deviation&amp;quot; : 0.39055,&lt;br /&gt;
                                        &amp;quot;max&amp;quot; : 62.1,&lt;br /&gt;
                                        &amp;quot;min&amp;quot; : 60&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;maxFrameGap&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;maxSpanOfBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalBadFrames&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;totalFrameGaps&amp;quot; : 0&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;primaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0.00180621,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0.000746511,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0.0073028,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 3.39e-005&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;secondaryChannelMistiming&amp;quot; :&lt;br /&gt;
                        {&lt;br /&gt;
                                &amp;quot;average&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;deviation&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;max&amp;quot; : 0,&lt;br /&gt;
                                &amp;quot;min&amp;quot; : 0&lt;br /&gt;
                        }&lt;br /&gt;
         },&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-recording'' command stops recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''recording-stopped''' event is generated when recording is stopped, either by sending '''stop-recording''' command or abnormally in case of some error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if background evaluation was completed successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if recording was cancelled by user before any frame has been recorded.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during background evaluation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file. Set on successful recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Size of the recorded file in bytes. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;duration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Timespan value in format&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;hh:mm:ss.sssssss&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Duration of the recording. Set on successful recording. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of the recorded frames. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;slaveResults&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Results of recording on slave PCs. Set on distributed recording. Fields of array items are described below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hostName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Host name of the slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br/&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether recording on that PC was successful.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message. Set if there was an error during recording on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;remoteFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Local path to a recorded iPiVideo file on that slave PC.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left:40px&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Statistics of the recording on that slave PC. Set on successful recording.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-recording&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;recording-stopped&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;fileSize&amp;quot;: 39975560,&lt;br /&gt;
        &amp;quot;duration&amp;quot;: &amp;quot;00:00:04.0155425&amp;quot;,&lt;br /&gt;
        &amp;quot;frameCount&amp;quot;: 197&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-devices-state ====&lt;br /&gt;
&lt;br /&gt;
''get-devices-state'' returns the state and statistics for all selected devices.&lt;br /&gt;
&lt;br /&gt;
{{Tip|This command is used to make sure recording process is ok. You can use it before and after recording.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of JSON objects, each representing selected device. Fields of array items:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;kind&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camera&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;depth-sensor&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;microphone&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device type.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Supported device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device model.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device index starting from 1 as it is seen in iPi Recorder.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Unique string, format depends on device model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Unique string that is used to identify recording devices in ''open-recorder'' command.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;selected&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device selected status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Device failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Error message string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Error message if device is in failed status.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;statistics&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Camera statistics.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame rate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;frameDropsPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average frame drops per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;badFramesPerSecond&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Average bad frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalFrameDrops&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total frame drops.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;totalBadFrames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Total bad frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;backgroundAreaPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent value rounded to integer.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Percent of area equal to recorded background.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-devices-state&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;camera&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;PlayStation Eye&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;2ed872d7&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 76&lt;br /&gt;
            }        &lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;kind&amp;quot;: &amp;quot;microphone&amp;quot;,&lt;br /&gt;
            &amp;quot;model&amp;quot;: &amp;quot;USB Camera-B4.04.27.1&amp;quot;,&lt;br /&gt;
            &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;\\\\?\\usb#vid_1415&amp;amp;pid_2000&amp;amp;mi_00#7&amp;amp;1c1ec232&amp;amp;0&amp;amp;0000#{4cff9941-d72f-4951-9291-03d8fc97fe30}&amp;quot;,&lt;br /&gt;
            &amp;quot;selected&amp;quot;: true,&lt;br /&gt;
            &amp;quot;failed&amp;quot;: false,&lt;br /&gt;
            &amp;quot;statistics&amp;quot;:&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;frameRate&amp;quot;: 50.0,&lt;br /&gt;
                &amp;quot;frameDropsPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;badFramesPerSecond&amp;quot;: 0.0,&lt;br /&gt;
                &amp;quot;totalFrameDrops&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;totalBadFrames&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;backgroundAreaPercent&amp;quot;: 98&lt;br /&gt;
            }        &lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''get-recorder-props'' command gets current properties for setup, background and recording stages specified in user interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt; values.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected audio mode. This field is included into the response, if microphone is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audeoModeList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
List of available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Possible &amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt; values. This field is included into the response, if microphone selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected darkening mode for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration/List&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;List of available modes&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available darkening modes for Sony PS3 Eye cameras. This field is included into the response, if Sony PS3 Eye camera is selected.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Selected number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayoutList&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Available screenLayout modes.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Available screen layout modes. Depend on type of selected cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Selected duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected show background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Selected start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected hide background mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Selected depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-recorder-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
        &amp;quot;videoModeList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;640x480 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 40Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 30Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;640x480 color @ 25Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 60Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 50Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 37Hz&amp;quot;,&lt;br /&gt;
            &amp;quot;320x240 color @ 30Hz&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;screenLayout&amp;quot;: &amp;quot;Color&amp;quot;,&lt;br /&gt;
        &amp;quot;screenLayoutList&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            &amp;quot;Color&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration&amp;quot;: &amp;quot;None&amp;quot;,&lt;br /&gt;
            &amp;quot;PlayStation Eye: Darkening for Calibration/List&amp;quot;:&lt;br /&gt;
            [&lt;br /&gt;
                &amp;quot;None&amp;quot;,&lt;br /&gt;
                &amp;quot;Darkening&amp;quot;,&lt;br /&gt;
                &amp;quot;Extra Darkening&amp;quot;&lt;br /&gt;
            ]&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;backgroundEvaluationStartDelay&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;backgroundEvaluationDuration&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;showEvaluatedBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;recordingStartDelay&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
        &amp;quot;destinationFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\&amp;lt;time stamp&amp;gt;.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;Jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;jpegQuality&amp;quot;: 100,&lt;br /&gt;
        &amp;quot;depthCompression&amp;quot;: &amp;quot;BackgroundSubtraction&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-recorder-props ====&lt;br /&gt;
&lt;br /&gt;
''set-recorder-props'' command sets properties for setup, background and recording stages.&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for SETUP Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on camera model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video mode. You can see available modes in &amp;quot;Video Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;audioMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Available modes depend on microphone model. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting audio mode. You can see available modes in &amp;quot;Audio Mode&amp;quot; combobox at SETUP stage, or get it in the result of '''get-recorder-props''' command.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;globalDeviceProps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Device-specific list of properties visible in “SHARED SETTINGS” section of SETUP stage.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;PlayStation&amp;amp;nbsp;Eye:&amp;amp;nbsp;Darkening&amp;amp;nbsp;for&amp;amp;nbsp;Calibration''&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Extra Darkening&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Darkening mode for Sony PS3 Eye cameras&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screenLayout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
For RGB cameras:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Color&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For depth sensors:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Depth&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Picture in picture&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Side by side&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting screen layout. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for BACKGROUND Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationDuration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 2 to 10&amp;lt;td&amp;gt;&lt;br /&gt;
Setting duration of background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;backgroundEvaluationStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 30&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for background evaluation.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;showEvaluatedBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''Properties for RECORD Stage:'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recordingStartDelay&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer number of seconds from 0 to 60&amp;lt;td&amp;gt;&lt;br /&gt;
Setting start delay for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackgroundWhenRecording&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Show hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;destinationFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Valid file path&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to destination file for recording.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;quot;JPEG&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting RGB video compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jpegQuality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer from 0 to 100&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
JPEG quality for JPEG compression.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthCompression&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;None&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;Background subtraction&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Setting depth compression mode.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-recorder-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;colorCompression&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
	&amp;quot;globalDeviceProps&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
	    &amp;quot;PlayStation Eye: Darkening for calibration&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
    &amp;quot;hideBackgroundWhenRecording&amp;quot;: true,&lt;br /&gt;
    &amp;quot;recordingStartDelay&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;videoMode&amp;quot;: &amp;quot;640x480 color @ 50Hz&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== discover-slaves ====&lt;br /&gt;
&lt;br /&gt;
''discover-slaves'' finds PCs on the network running [[iPi Recorder]] in the slave mode ready to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been found.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;discover-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot; // 2 seconds&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;, &amp;quot;NB-ANDY&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== connect-to-slaves ====&lt;br /&gt;
&lt;br /&gt;
''connect-to-slaves'' connects to PCs on the network running [[iPi Recorder]] in the slave mode for distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Time span value in format '''hh:mm:ss[.sssssss]'''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Time to wait for slaves to be discovered. Default value is 5 seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hostNames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Array items are strings.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A list of host names of slave PCs to connect to. If not specified, connects to all slaves found. If some of the specified slaves was not found, the command results in an error.&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;Array of host names of slave PCs which have been connected.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;connect-to-slaves&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeout&amp;quot;: &amp;quot;0:0:2&amp;quot;, // 2 seconds&lt;br /&gt;
        &amp;quot;hostNames&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;] // connect only to this PC&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: [&amp;quot;PC-MIKE&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-slaves ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-slaves'' ends existing connection to slave instances of [[iPi Recorder]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;disconnect-from-slaves&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== enter-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''enter-slave-mode'' puts [[iPi Recorder]] into the slave mode, enabling it to participate in distributed recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;enter-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit-slave-mode ====&lt;br /&gt;
&lt;br /&gt;
''exit-slave-mode'' returns [[iPi Recorder]] from the slave mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit-slave-mode&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''start-broadcasting'' starts broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-broadcasting&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-broadcasting ====&lt;br /&gt;
&lt;br /&gt;
''stop-broadcasting'' stops broadcasting data for [[Real-time Tracking for Live Preview|real-time tracking]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-broadcasting&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== merge-videos ====&lt;br /&gt;
&lt;br /&gt;
''merge-videos'' performs merging of videos recorded by individual PCs during [[Distributed Recording|distributed recording]], similarly to '''Merge Videos''' button in the toolbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;inputFilePaths&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2 or more valid file paths&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;iPiVideo files to merge&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;outputFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Resulting iPiVideo file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''merge-videos-completed''' event is generated when the merge operation ends.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;success&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Success flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if video files have been merged successfully.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cancelled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Cancellation flag. Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if operation has been cancelled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description of the error when a merge operation has failed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Important|If output file exists, it will be overwritten without a notice.}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|It is recommended to use absolute file paths. Relative paths are treated against the current directory of iPi Recorder process.}}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;merge-videos&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;inputFilePaths&amp;quot;: [&amp;quot;d:\\videos\\test.master.iPiVideo&amp;quot;, &amp;quot;d:\\videos\\test.slave0.iPiVideo&amp;quot;],&lt;br /&gt;
        &amp;quot;outputFilePath&amp;quot;: &amp;quot;d:\\videos\\test.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;merge-videos-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true,&lt;br /&gt;
        &amp;quot;cancelled&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player Commands ===&lt;br /&gt;
&lt;br /&gt;
==== set-player-props ====&lt;br /&gt;
&lt;br /&gt;
''set-player-props'' command sets properties for player.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;screensInRow&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer from 1 to number of cameras&amp;lt;td&amp;gt;&lt;br /&gt;
Setting number of screens in a row for multiple camera video view.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Turn hide background mode on / off.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-player-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;screensInRow&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;hideBackground&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-player ====&lt;br /&gt;
&lt;br /&gt;
''open-player'' command opens [[.iPiVideo File Extension|'''.iPiVideo''']] file in player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;td&amp;gt;&lt;br /&gt;
Full path to file to be opened in player.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-player&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_record.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing video forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''playing-stopped''' event is generated when playing is competed (reached the last frame) or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing video backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Last frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;First frame reached&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== iPi Mocap Studio Commands ==&lt;br /&gt;
&lt;br /&gt;
=== General Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-app-info ====&lt;br /&gt;
&lt;br /&gt;
''get-app-info'' command returns the name of application and its version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;iPi Mocap Studio 3&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application name. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;appVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Version number in the format &amp;lt;tt&amp;gt;XX.XXX.XXX.XXX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Application version number. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mainWindowHandle&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows API handle of main window.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;processId&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Integer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Windows process id.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-app-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;appName&amp;quot;: &amp;quot;iPi Mocap Studio 3&amp;quot;,&lt;br /&gt;
        &amp;quot;appVersion&amp;quot;: &amp;quot;99.876.543.210&amp;quot;,&lt;br /&gt;
        &amp;quot;mainWindowHandle&amp;quot;:19925022,&lt;br /&gt;
        &amp;quot;processId&amp;quot;:7328&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== exit ====&lt;br /&gt;
&lt;br /&gt;
''exit'' command closes [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;exit&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Commands ===&lt;br /&gt;
&lt;br /&gt;
==== create-project ====&lt;br /&gt;
&lt;br /&gt;
''create-project'' creates new project from specified [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&lt;br /&gt;
===== Action projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sceneFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Scene or project file path to take calibration information from: [[.iPiScene File Extension|.iPiScene]], [[.iPiCalib File Extension|.iPiCalib]] or [[.iPiMotion File Extension|.iPiMotion]] file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Each item should be either a string containing an [[.iPiActor File Extension|.iPiActor]] file path, or an object specifying actor parameters directly. Fields of such object are listed below.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor. Default is &amp;lt;tt&amp;gt;male&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras. Default is &amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;sceneFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiScene&amp;quot;,&lt;br /&gt;
        &amp;quot;actors&amp;quot;:[&amp;quot;D:\\iPiMocap\\test_actor.iPiActor&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Calibration projects =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibration&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera diagonal field of view in degrees. Default is &amp;lt;tt&amp;gt;75&amp;lt;/tt&amp;gt;.&amp;lt;br/&amp;gt;If the video file contains valid FOV values for cameras, they override the value of this parameter.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of camera field of view. Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Switches auto detection of initial camera positions. Default is &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;create-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_calibration.iPiVideo&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;calibration&amp;quot;,&lt;br /&gt;
        &amp;quot;cameraFov&amp;quot;: 80,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== open-project ====&lt;br /&gt;
&lt;br /&gt;
''open-project'' command opens existing project from specified [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoFilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiVideo File Extension|'''.iPiVideo''']] file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;open-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;,&lt;br /&gt;
        &amp;quot;videoFilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiVideo&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-project ====&lt;br /&gt;
&lt;br /&gt;
''save-project'' command saves current project to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path of [[.iPiMotion File Extension|'''.iPiMotion''']] file.&amp;lt;br&amp;gt;You do not need to specify file path if you save previously opened project to the same file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-project&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test_project.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== close-project ====&lt;br /&gt;
&lt;br /&gt;
''close-project'' command closes project curretnly opened in [[iPi Mocap Studio]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;close-project&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-project-info ====&lt;br /&gt;
&lt;br /&gt;
''get-project-info'' command returns current project information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;projectType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;action&amp;lt;br&amp;gt;calibration&amp;lt;br&amp;gt;dummy&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the project. Dummy stands for empty project.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasType&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Depth&amp;lt;br&amp;gt;RGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Type of the cameras.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;camerasCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of cameras. &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-project-info&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;:true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;action&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasType&amp;quot;: &amp;quot;RGB&amp;quot;,&lt;br /&gt;
        &amp;quot;camerasCount&amp;quot;: 6&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Project Properties Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''get-timeline-props'' command returns timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;timeline&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whole timeline properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;secondsPerFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Seconds per frame.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;durationInSeconds&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Duration in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-timeline-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;timeline&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
            &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
            &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Region of Interest&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 758,&lt;br /&gt;
                &amp;quot;secondsPerFrame&amp;quot;: 0.02,&lt;br /&gt;
                &amp;quot;durationInSeconds&amp;quot;: 15.1399,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-timeline-props ====&lt;br /&gt;
&lt;br /&gt;
''set-timeline-props'' command sets timeline properties of the current project.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;regionOfInterest&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Region of Interest (ROI) properties.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takes&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;TimelineClip JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of takes.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=5&amp;gt;TimelineClip JSON objects properties:&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;beginFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Begin frame index (first frame is 0).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;framesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;description&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Description.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-timeline-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;regionOfInterest&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
            &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;takes&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 10,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 158,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 1&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;beginFrame&amp;quot;: 200,&lt;br /&gt;
                &amp;quot;framesCount&amp;quot;: 558,&lt;br /&gt;
                &amp;quot;description&amp;quot;: &amp;quot;Take 2&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-view-props ====&lt;br /&gt;
&lt;br /&gt;
''get-view-props'' command gets current view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-view-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;skin&amp;quot;: true,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewBackground&amp;quot;: false,&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trajectories&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;extraSkeletonStrobe&amp;quot;: false,&lt;br /&gt;
        &amp;quot;collisionObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;massObjects&amp;quot;: false,&lt;br /&gt;
        &amp;quot;poseMismatch&amp;quot;: false,&lt;br /&gt;
        &amp;quot;video&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.7,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: true,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-view-props ====&lt;br /&gt;
&lt;br /&gt;
''set-view-props'' command sets view properties specified via ''View'' menu.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''General view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skin&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skin flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skinOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Skin opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;bones&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show bones flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewportBackgroundColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Viewport background color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show cameras flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentCamera&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected camera index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;groundPlane&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show ground plane flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;viewBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Action projects view properties''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentActor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectories&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show trajectories flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;skeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;extraSkeletonStrobe&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show extra skeleton strobe flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;collisionObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show collision objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;massObjects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show mass objects flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;poseMismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show pose mismatch flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;video&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Video opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;videoThumbnails&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show video thumbnails flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;lightSource&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show light source flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthOpacity&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from 0 to 1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth opacity value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hideBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hide background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthFromAllSensors&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Show depth from all sensors flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''View properties of projects containing RGB and depth information''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;alignColorVideoToDepth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Align color video to depth flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;colorPointCloudWithRgbData&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Color point cloud with RGB data flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-view-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;currentActor&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;skin&amp;quot;: false,&lt;br /&gt;
        &amp;quot;skinOpacity&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;bones&amp;quot;: true,&lt;br /&gt;
        &amp;quot;viewportBackgroundColor&amp;quot;: &amp;quot;#7D90A3&amp;quot;,&lt;br /&gt;
        &amp;quot;cameras&amp;quot;: true,&lt;br /&gt;
        &amp;quot;currentCamera&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;groundPlane&amp;quot;: true,&lt;br /&gt;
        &amp;quot;videoOpacity&amp;quot;: 0.6,&lt;br /&gt;
        &amp;quot;videoThumbnails&amp;quot;: false,&lt;br /&gt;
        &amp;quot;lightSource&amp;quot;: true    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scene Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-scene ====&lt;br /&gt;
&lt;br /&gt;
''load-scene'' loads scene and light information from [[.iPiScene File Extension|'''.iPiScene''']], [[.iPiCalib File Extension|'''.iPiCalib''']] or [[.iPiMotion File Extension|'''.iPiMotion''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiMotion&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-scene ====&lt;br /&gt;
&lt;br /&gt;
''save-scene'' saves scene and light information (if available) to  [[.iPiScene File Extension|'''.iPiScene''']] file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-scene&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiScene&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== recenter-coordinates-on-character ====&lt;br /&gt;
&lt;br /&gt;
''recenter-coordinates-on-character'' aligns coordinate system with character pose.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;recenter-coordinates-on-character&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== move-coordinate-system ====&lt;br /&gt;
&lt;br /&gt;
''move-coordinate-system'' allows to change coordinate system. Y axis remains vertical relative to detected ground plane.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftX&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along X axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftY&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Y axis, in meters. Is used to tune ground height.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shiftZ&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shift of coordinate system along Z axis, in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraAzimuth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sets azimuth angle of current camera, in degrees.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;move-coordinate-system&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shiftX&amp;quot;: 0.23,&lt;br /&gt;
        &amp;quot;shiftY&amp;quot;: -0.02,&lt;br /&gt;
        &amp;quot;shiftZ&amp;quot;: -0.6,&lt;br /&gt;
        &amp;quot;cameraAzimuth&amp;quot;: 0.0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Actor Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-actor ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''load-actor'' loads actor properties from ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== save-actor ====&lt;br /&gt;
&lt;br /&gt;
''save-actor'' saves actor properties to ''.iPiActor'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;actorIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor index starting from 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;save-actor&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;actorIndex&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiActor&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== detect-actor-colors ====&lt;br /&gt;
&lt;br /&gt;
''detect-actor-colors'' runs auto-detection of actor colors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColorSameAsFace&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Setting &amp;quot;Hands are the Same Color as Face&amp;quot; flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''detect-actor-colors-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shirt color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pantsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pants color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;handsColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hands color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;faceColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Face color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoes color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shoeSolesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Shoe soles color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;hairColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hair color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;sleevesColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sleeves color.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;detect-actor-colors&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;handsColorSameAsFace&amp;quot;: false&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;detect-actor-colors-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:  &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;shirtColor&amp;quot;:&amp;quot;#384662&amp;quot;,&lt;br /&gt;
        &amp;quot;pantsColor&amp;quot;:&amp;quot;#1F2431&amp;quot;,&lt;br /&gt;
        &amp;quot;handsColor&amp;quot;:&amp;quot;#9A9DA6&amp;quot;,&lt;br /&gt;
        &amp;quot;faceColor&amp;quot;:&amp;quot;#7A7077&amp;quot;,&lt;br /&gt;
        &amp;quot;shoesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;shoeSolesColor&amp;quot;:&amp;quot;#504C4C&amp;quot;,&lt;br /&gt;
        &amp;quot;hairColor&amp;quot;:&amp;quot;#57555E&amp;quot;,&lt;br /&gt;
        &amp;quot;sleevesColor&amp;quot;:&amp;quot;#384662&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''get-actor-props'' returns actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-actor-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-actor-props ====&lt;br /&gt;
&lt;br /&gt;
''set-actor-props'' sets actor properties.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;gender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;female&amp;lt;br&amp;gt;male&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gender of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Height of actor.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;clothingModel&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longsleeveshirt&amp;lt;br&amp;gt;tshirt&amp;lt;br&amp;gt;tshirtoverlongsleeveshirt&amp;lt;br&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor clothing model.&amp;lt;br&amp;gt;Requred for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shirtLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shirt length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;longSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Long sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shortSleeveLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Short sleeve length. 0 means default value. Available for projects recorded with RGB cameras.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;dimensions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;optional&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Actor dimensions.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;headHeight&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Height of head from chin to top in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;shouldersWidth&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Distance between shoulder joints in T-pose in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;armLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight arm between shoulder and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;forearmLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of forearm between elbow and wrist joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;legLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of straight leg between hip and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;lowerlegLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length of lower leg between knee and ankle joints in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;footLength&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Length foot between heel and big toe end in meters.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bodyMassIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Body mass index. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;chestScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Chest scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bustScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Bust scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;waistScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Waist scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;hipsScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Hips scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;bellyScale&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -1 to 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Belly scale factor. 0 means default value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Dimensions are set approximately to minimize standard deviation from the specified segment lengths. Specifying incorrect values will lead to incorrect body dimensions thus increasing tracking errors. So visual alignment of the model with actual video is highly recommended. }}&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-actor-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot;,&lt;br /&gt;
        &amp;quot;height&amp;quot;: 1.8,&lt;br /&gt;
        &amp;quot;clothingModel&amp;quot;: &amp;quot;tshirtoverlongsleeveshirt&amp;quot;,&lt;br /&gt;
        &amp;quot;dimensions&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;headHeight&amp;quot;: 0.21,&lt;br /&gt;
            &amp;quot;shouldersWidth&amp;quot;: 0.3,&lt;br /&gt;
            &amp;quot;armLength&amp;quot;: 0.57,&lt;br /&gt;
            &amp;quot;legLength&amp;quot;: 0.89,&lt;br /&gt;
            &amp;quot;footLength&amp;quot;: 0.26&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Playing Commands ===&lt;br /&gt;
&lt;br /&gt;
==== play-forward ====&lt;br /&gt;
&lt;br /&gt;
''play-forward'' starts playing forward starting from the current frame.  If current frame is the last frame playing starts from the first frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== play-backward ====&lt;br /&gt;
&lt;br /&gt;
''play-backward'' starts playing backward starting from the current frame. If current frame is the first frame playing starts from the last frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;play-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-forward ====&lt;br /&gt;
&lt;br /&gt;
''frame-forward'' steps one frame forward. If current frame is the last frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: false,&lt;br /&gt;
    &amp;quot;error&amp;quot;: &amp;quot;Frame index exceeds total frames count&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== frame-backward ====&lt;br /&gt;
&lt;br /&gt;
''frame-backward'' steps one frame backward. If current frame is the first frame error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;frame-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== go-to-frame ====&lt;br /&gt;
&lt;br /&gt;
''go-to-frame'' command selects current frame. If case of invalid frame index error message returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frameIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Frame index. The first frame index is 0, the last frame index is ''&amp;lt;total_number_of_frames&amp;gt;'' - 1.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;go-to-frame&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frameIndex&amp;quot;: 27&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-play ====&lt;br /&gt;
&lt;br /&gt;
''pause-play'' pauses playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-play&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-video ====&lt;br /&gt;
&lt;br /&gt;
''export-video'' command exports viewport to avi video.&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;td&amp;gt;&lt;br /&gt;
File name. Must include &amp;lt;tt&amp;gt;.avi&amp;lt;/tt&amp;gt; extension.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;encoding&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;Uncompressed&amp;lt;br&amp;gt;Jpeg&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Video encoding.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Integer within [1,100]&amp;lt;td&amp;gt;&lt;br /&gt;
Jpeg quality. Must be specified for &amp;lt;tt&amp;gt;Jpeg&amp;lt;/tt&amp;gt;. Must not be specified for &amp;lt;tt&amp;gt;Uncompressed&amp;lt;/tt&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;takeIndex&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;td&amp;gt;&lt;br /&gt;
Zero-based take index. If not specified, Region-of-Interest is exported.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-video&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;D:\\iPiMocap\\textexport.avi&amp;quot;,&lt;br /&gt;
        &amp;quot;encoding&amp;quot;: &amp;quot;jpeg&amp;quot;,&lt;br /&gt;
        &amp;quot;quality&amp;quot;: 70,&lt;br /&gt;
        &amp;quot;takeIndex&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;video-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tracking Commands ===&lt;br /&gt;
&lt;br /&gt;
==== get-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''get-tracking-props'' command gets current tracking properties specified in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-tracking-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [2, 2, 2, 2, 2, 2],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 2&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-tracking-props ====&lt;br /&gt;
&lt;br /&gt;
''set-tracking-props'' command sets tracking properties in ''Tracking'' tab.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableFootTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Foot tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableGroundCollisions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ground collisions enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;enableHeadTracking&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Head tracking enabled flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;shouldersTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Shoulders'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Calculated from arm position''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Tracked from video''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected shoulder tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;spineTrackingMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Spine'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''Stiff Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Flexible Lower Spine''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt; - ''Very Flexible Lower Spine''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected spine tracking mode.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trackingResolution&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integer index of selected ''Tracking resolution'' combobox item.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; - ''High''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; - ''Low''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected tracking resolution.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;useFastTrackingAlgorithm&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Use fast tracking algorthm flag value.&amp;lt;br/&amp;gt;''Currently available only for depth sensors, single actor and single GPU tracking.''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;jitterRemovalOptions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array containing 6 integers each in the range from 0 to 5.&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 0&amp;lt;/tt&amp;gt; - value for ''Torso''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 1&amp;lt;/tt&amp;gt; - value for ''Left arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 2&amp;lt;/tt&amp;gt; - value for ''Right arm''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 3&amp;lt;/tt&amp;gt; - value for ''Left leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 4&amp;lt;/tt&amp;gt; - value for ''Right leg''&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;Item 5&amp;lt;/tt&amp;gt; - value for ''Head''&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Selected jitter removal options.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;trajectoryFilter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Integers in the range from 0 to 5.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Selected trajectory filter value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-tracking-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;enableFootTracking&amp;quot;: true,&lt;br /&gt;
        &amp;quot;enableGroundCollisions&amp;quot;: false,&lt;br /&gt;
        &amp;quot;enableHeadTracking&amp;quot;: false,&lt;br /&gt;
        &amp;quot;shouldersTrackingMode&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;spineTrackingMode&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;trackingResolution&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;jitterRemovalOptions&amp;quot;: [5, 4, 3, 2, 1, 0],&lt;br /&gt;
        &amp;quot;trajectoryFilter&amp;quot;: 3&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refit-pose ====&lt;br /&gt;
&lt;br /&gt;
''refit-pose'' starts ''Refit Pose'' operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''refit-pose-finished''' event is generated when operation is competed or stopped by user&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Pose mismatch value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;translation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Coordinates of root bone translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;joints&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of joints rotations.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;rotation&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Quaternion coordinates of joint rotation relative to parent joint.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;w cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;x cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;y cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 80px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;z&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;Double&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;z cooordinate.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refit-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;refit-pose-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.0346799499867484,&lt;br /&gt;
        &amp;quot;translation&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;x&amp;quot;: 0.20735317468643188,&lt;br /&gt;
            &amp;quot;y&amp;quot;: 0.93647444248199463,&lt;br /&gt;
            &amp;quot;z&amp;quot;: 0.1268109530210495&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;joints&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Hip&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99089264869689941,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.024765072390437126,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.13141168653964996,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.015792140737175941&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LowerSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;MiddleSpine&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Chest&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9960486888885498,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.028381859883666039,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.083706416189670563,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.008648967370390892&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Neck&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;Head&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorHead&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99793654680252075,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0059945755638182163,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.046108484268188477,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.044281467795372009&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.9549943208694458,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.034553475677967072,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.29447850584983826,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0086394213140010834&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.91743868589401245,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.036340668797492981,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.39591813087463379,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.015319216065108776&lt;br /&gt;
                }&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RClavicle&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.995156466960907,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.040068801492452621,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.048379208892583847,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.075615249574184418&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShoulder&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.965262770652771,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0052053602412343025,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.26098120212554932,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.011395715177059174&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RForearm&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99951714277267456,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.020441532135009766,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.0027645230293273926,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.023236606270074844&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RHand&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79308795928955078,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.068257540464401245,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60094189643859863,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.072259068489074707&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.79541802406311035,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.053630385547876358,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.60230922698974609,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.040715586394071579&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99298214912414551,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.11810562759637833,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.00553984334692359,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0026492751203477383&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;RToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorRToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LThigh&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99825394153594971,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.0010303414892405272,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.021972890943288803,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.054818056523799896&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LShin&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.99794912338256836,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.059693548828363419,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.023080151528120041,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.0013148610014468431&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LFoot&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 0.98020839691162109,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: -0.18852591514587402,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: -0.054500121623277664,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: -0.026062563061714172&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;LToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;name&amp;quot;: &amp;quot;EffectorLToe&amp;quot;,&lt;br /&gt;
                &amp;quot;rotation&amp;quot;:&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;quot;w&amp;quot;: 1.0,&lt;br /&gt;
                    &amp;quot;x&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;y&amp;quot;: 0.0,&lt;br /&gt;
                    &amp;quot;z&amp;quot;: 0.0&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-pose-mismatch ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;mismatch&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Negative double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Current pose mismatch.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-pose-mismatch&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;mismatch&amp;quot;: -0.036337155848741531&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== delete-pose ====&lt;br /&gt;
&lt;br /&gt;
''delete-pose'' deleted pose in current frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;delete-pose&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-forward ====&lt;br /&gt;
&lt;br /&gt;
''track-forward'' starts tracking forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== track-backward ====&lt;br /&gt;
&lt;br /&gt;
''track-backward'' starts tracking backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;track-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-forward ====&lt;br /&gt;
&lt;br /&gt;
''refine-forward'' starts refine forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-forward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== refine-backward ====&lt;br /&gt;
&lt;br /&gt;
''refine-backward'' starts refine backward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when tracking is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;refine-backward&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== pause-tracking ====&lt;br /&gt;
&lt;br /&gt;
''pause-tracking'' stops tracking or refine operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;pause-tracking&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== remove-jitter ====&lt;br /&gt;
&lt;br /&gt;
''remove-jitter'' starts jitter removal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''tracking-operation-finished''' event is generated when jitter removal is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;remove-jitter&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;tracking-operation-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Live (Real-Time) Session Commands ===&lt;br /&gt;
&lt;br /&gt;
These commands control [[Real-time Tracking for Live Preview|real-time tracking]] function.&lt;br /&gt;
&lt;br /&gt;
==== start-live-session ====&lt;br /&gt;
&lt;br /&gt;
''start-live-session'' starts live (real-time) session.&lt;br /&gt;
You can set desired tracking options using [[#set-tracking-props|set-tracking-props]] command after starting a session but before connecting to live sources with [[#connect-to-live-sources|connect-to-live-sources]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Before live session is started a previously open project is closed automatically.}}&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|start-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== end-live-session ====&lt;br /&gt;
&lt;br /&gt;
''end-live-session'' ends live (real-time) session.&lt;br /&gt;
&lt;br /&gt;
{{AutomationCommandNoArgsAndResult|end-live-session}}&lt;br /&gt;
&lt;br /&gt;
==== discover-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''discover-live-sources'' finds hosts on the network which run compatible versions of [[iPi Recorder]] in [[Real-time Tracking for Live Preview#Recording|broadcast mode]]. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== connect-to-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''connect-live-sources'' establishes a connection to available or specified hosts and start real-time tracking. Should be executed while in live session.&lt;br /&gt;
&lt;br /&gt;
==== disconnect-from-live-sources ====&lt;br /&gt;
&lt;br /&gt;
''disconnect-from-live-sources'' stops real-time tracking and disconnects from hosts. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== start-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''start-live-recording'' starts recording real-time tracking data to a project file. Should be executed while connected.&lt;br /&gt;
&lt;br /&gt;
==== stop-live-recording ====&lt;br /&gt;
&lt;br /&gt;
''stop-live-recording'' stops recording real-time data. Should be executed while recording.&lt;br /&gt;
&lt;br /&gt;
=== Biomech Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-biomech-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-biomech-profile'' loads biomech profile from ''.iPiBiomech'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-biomech-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiBiomech&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== plot-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''plot-biomech-data'' plots biomech data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;plot-biomech-data&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-biomech-data ====&lt;br /&gt;
&lt;br /&gt;
''export-biomech-data'' exports bones motion data to file or copies to clipboard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;text&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;clipboard&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Not needed in case of copying to clipboard.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''biomech-data-export-completed''' event is generated when export is competed &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No event arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-biomech-data&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.txt&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;biomech-data-export-completed&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;success&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-point-cloud ====&lt;br /&gt;
&lt;br /&gt;
''export-point-cloud'' exports point cloud data to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;format&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;pcd&amp;lt;br&amp;gt;obj&amp;lt;br&amp;gt;matlab&amp;lt;br&amp;gt;ply&amp;lt;br&amp;gt;pts&amp;lt;br&amp;gt;prt&amp;lt;br&amp;gt;xyz&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export format.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;folderPath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid folder path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to folder to export to.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fileName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;File name&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;File name (does not include path to folder but includes extension).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackground&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Subtract background flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;subtractBackgroundThreshold&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double from -4 to 5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Background subtraction threshold. Bigger value means more points will be subtracted.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportRGB&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Export RGB information flag value.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;currentFrameOnly&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, only current frame will be exported.&amp;lt;br&amp;gt;If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, all frames of Region-of-Interest will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;cameraIndises&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Array of camera indicese (starting from 0) to include in export. If not set, all cameras will be exported.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''point-cloud-export-finished''' event is generated when point cloud export is competed or cancelled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;framesProcessed&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of frames processed. In case of successful completion equal to '''Region-of-Interest''' number of frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-point-cloud&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;format&amp;quot;: &amp;quot;pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;folderPath&amp;quot;: &amp;quot;D:\\iPiMocap&amp;quot;,&lt;br /&gt;
        &amp;quot;fileName&amp;quot;: &amp;quot;test.pcd&amp;quot;,&lt;br /&gt;
        &amp;quot;subtractBackground&amp;quot;: true,&lt;br /&gt;
        &amp;quot;exportRGB&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;point-cloud-export-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;framesProcessed&amp;quot;: 253,&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 62.321,&lt;br /&gt;
        &amp;quot;fps&amp;quot;: 4.05963,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calibration Commands ===&lt;br /&gt;
&lt;br /&gt;
==== run-calibration ====&lt;br /&gt;
&lt;br /&gt;
''run-calibration'' starts calibration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerSpotSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;small&amp;lt;br&amp;gt;medium&amp;lt;br&amp;gt;large&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker spot size on video setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;markerColor&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid html color value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker color setting.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoDetectInitialCameraPositions&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto detect initial camera positions flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;autoAdjustFov&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auto adjust FOV flag value. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;calibrationMode&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fast&amp;lt;br&amp;gt;normal&amp;lt;br&amp;gt;extended&amp;lt;br&amp;gt;extreme&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration mode. RGB projects only.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;board&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Depth projects only. Set this flag to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; for running calibration with board. Other parameters are not applicable in this case.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Events'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''calibration-finished''' event is generated when point cloud export is competed or canceled&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;canceled&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Set to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if calibration was canceled by user.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rgbCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON objects array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of calibration statistics per camera for RBG projects.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;reprojectionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera reprojection error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mistetects&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera misdetects percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthMarkerCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with flashlight.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;markerCloudMinSize&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Marker point cloud minimum size.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;occlusionPercent&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Occlusion percent.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;depthBoardCalibrationStat&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;JSON object&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Calibration statistics for depth projects calibrated with board.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;quality&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;failed&amp;lt;br&amp;gt;good&amp;lt;br&amp;gt;perfect&amp;lt;br&amp;gt;unknown&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Camera calibration quality.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;goodFramesCount&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Non-negative integer&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Number of good frames.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averageAngleError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average angle error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;padding-left: 40px;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;averagePositionError&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average position error.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;'''progress-updated''' event is generated every 1 second while operation is running&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;elapsedTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Total processing time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;remainingTime&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Remaining time in seconds.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;progress&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double within &amp;lt;tt&amp;gt;[0,1]&amp;lt;/tt&amp;gt; range&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Progress estimation. &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; means 100%.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fps&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Double&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Average processing speed in frames per second.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;run-calibration&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;markerSpotSize&amp;quot;: &amp;quot;large&amp;quot;,&lt;br /&gt;
        &amp;quot;markerColor&amp;quot;: &amp;quot;#0099FF&amp;quot;,&lt;br /&gt;
        &amp;quot;calibrationMode&amp;quot;: &amp;quot;fast&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;calibration-finished&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 49.0548727,&lt;br /&gt;
        &amp;quot;canceled&amp;quot;: false,&lt;br /&gt;
        &amp;quot;rgbCalibrationStat&amp;quot;:&lt;br /&gt;
        [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8999624,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.36743924&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.5540145,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.328137815&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.8146306,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 0.5209761&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;quality&amp;quot;: &amp;quot;perfect&amp;quot;,&lt;br /&gt;
                &amp;quot;reprojectionError&amp;quot;: 0.567752242,&lt;br /&gt;
                &amp;quot;misdetects&amp;quot;: 1.13636363&lt;br /&gt;
            }&lt;br /&gt;
        ]    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Event &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;event&amp;quot;: &amp;quot;progress-updated&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;elapsedTime&amp;quot;: 5.3501876,&lt;br /&gt;
        &amp;quot;remainingTime&amp;quot;: 0.80599999999999994,&lt;br /&gt;
        &amp;quot;progress&amp;quot;:0.86486486486486491,&lt;br /&gt;
        &amp;quot;fps&amp;quot;:6.169&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== mark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''mark-ground-points'' marks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of frame indices to be marked as ground&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;mark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ummark-ground-points ====&lt;br /&gt;
&lt;br /&gt;
''unmark-ground-points'' unmarks ground points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;frames&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;numeric array&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;List of ground points frame indices to be unmarked. Unmarks all ground points if empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;unmark-ground-points&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;frames&amp;quot;: [28, 304, 504, 1123]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Animation Export Commands ===&lt;br /&gt;
&lt;br /&gt;
==== load-target-character ====&lt;br /&gt;
&lt;br /&gt;
''load-target-character'' loads target character from file or selects from predefined characters list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;rigName&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;default&amp;lt;br&amp;gt;motionbuilder&amp;lt;br&amp;gt;3dsmax&amp;lt;br&amp;gt;endorphin&amp;lt;br&amp;gt;iclone&amp;lt;br&amp;gt;blender&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Name of predefined rig.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to character file.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-target-character&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;rigName&amp;quot;: &amp;quot;3dsmax&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== load-motion-transfer-profile ====&lt;br /&gt;
&lt;br /&gt;
''load-motion-transfer-profile'' loads motion transfer profile from ''.iPiTransfer'' file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;profilePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;load-motion-transfer-profile&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;profilePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.iPiTransfer&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== get-export-props ====&lt;br /&gt;
&lt;br /&gt;
''get-export-props'' command gets export properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;get-export-props&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true,&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== set-export-props ====&lt;br /&gt;
&lt;br /&gt;
''set-export-props'' command sets export properties.&lt;br /&gt;
&lt;br /&gt;
{{Tip|If property is not specified in command arguments, current value in user interface will be used. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;advancedMotionTransfer&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Advanced motion transfer flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;recenterCoordinateSystemOnCharacter&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Recenter coordinate system on character flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportTPoseInFirstFrame&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
Export T-Pose in first frame flag value.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;set-export-props&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
	&amp;quot;advancedMotionTransfer&amp;quot;: true,&lt;br /&gt;
	&amp;quot;recenterCoordinateSystemOnCharacter&amp;quot;: false,&lt;br /&gt;
	&amp;quot;exportTPoseInFirstFrame&amp;quot;: true,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== export-animation ====&lt;br /&gt;
&lt;br /&gt;
''export-animation'' exports animation to file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;filePath&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;mandatory&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Valid file path&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full path to file. Animation format is defined by file extension.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxIsBinary&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx binary format flag for FBX format. If &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; or not set, ASCII format is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;fbxVersion&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;string&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;2014&amp;lt;br&amp;gt;2013&amp;lt;br&amp;gt;2012&amp;lt;br&amp;gt;2011&amp;lt;br&amp;gt;2010&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Fbx version for FBX format.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;exportCameras&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;boolean&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;true&amp;lt;br&amp;gt;false&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Whether to include camera positions to an animation file.&amp;lt;br/&amp;gt;Default is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;targetFrameRate&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Target frame rate for exported animation. When omitted, frame rate of a source iPiVideo file is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;export-animation&amp;quot;,&lt;br /&gt;
    &amp;quot;arguments&amp;quot;: &lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;filePath&amp;quot;: &amp;quot;D:\\iPiMocap\\test.bvh&amp;quot;,&lt;br /&gt;
        &amp;quot;targetFrameRate&amp;quot;: 30&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== start-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''start-streaming-animation'' starts [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;tt&amp;gt;port&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;integer&amp;lt;/td&amp;gt;&amp;lt;td align=center&amp;gt;optional&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Positive value&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;UDP port for streaming. If omitted, the currently set value is used.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;start-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== stop-streaming-animation ====&lt;br /&gt;
&lt;br /&gt;
''stop-streaming-animation'' stops [[Streaming to Unity|streaming pose data]] to a network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: smaller; min-width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Parameter Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Mandatory /&amp;lt;br&amp;gt;Optional&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Allowed Values&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Arguments'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''No arguments''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot; style=&amp;quot;background-color: white;&amp;quot;&amp;gt;'''Result'''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;5&amp;quot;&amp;gt;''Empty result''&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''EXAMPLE''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
// Request&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;stop-streaming-animation&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Response&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;success&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmaslov</name></author>	</entry>

	</feed>